九的九次方是多少呢?

今天我们要来说一下二进制和十进制,学到现在我们应该可以熟练的将二进制转换为十进制了,那么话不多说,看题(此题来自第九届蓝桥杯C组大学组)
九的九次方是多少呢?_第1张图片
九的九次方是多少呢?_第2张图片
最开始看到我也是一脸懵?,我们仔细阅读不难发现这几个解题的点:

  • 首先我们可以了解一个汉字由32个字节存储,题中给了10行,表示10个字,我们可以用二维数组a[10][32]来存储,注意在打印时两个字节就要换行;

  • 二进制转为十进制,正数用除二取余法,负数为256+该负数则可以转换为正数。
    代码如下:

#include
void B_S(int n)
{
 int d[8];
 if(n<=0) n=256+n;//处理负数的情况 
 for(int i=0;i<8;i++)
 {
  d[i]=n%2;//除二取余法 
  n=n/2;
 }
 for(int i=7;i>=0;i--)
 if(d[i]) printf("*");else printf(" "); 
}
int main()
{
 int n[10][32],i,j;
 for(int i=0;i<10;i++) 
  for(int j=0;j<32;j++) 
  scanf("%d",&n[i][j]);//二维数组 
 
 for(int j=0;j<16;j++,printf("\n"))//2个字节换行一次 
   for(int i=0;i<10;i++)
 {
  B_S(n[i][j*2]); 
  B_S(n[i][j*2+1]);//这样处理可以让他们在一行上面输出 
  printf("   "); 
 }
 } 

运行结果如下:
九的九次方是多少呢?_第3张图片所以问题就是:九的九次方是多少?我们用计算机算出结果为:387420489.
这就是这个题目的解决,你学会了吗?我们一起?吧!

你可能感兴趣的:(大杂烩)