首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

2013年C语言计算机二级上机练习模拟题(4)(2)

2013-06-22 

  改错题

  给定程序MODI1.C中函数 fun 的功能是: 将十进制正整数m转换成k(2≤k≤9) 进制数, 并按高位到低位顺序输出。

  例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。

  请改正 fun 函数中的错误,使它能得出正确的结果。

  注意:不要改动 main 函数。不得增行或删行,也不得更改程序的结构!

  给定源程序:

  #include

  #include

  void fun( int m, int k )

  {

  int aa[20], i;

  for( i = 0; m; i++ )

  {

  aa[i] = m/k;

  m /= k;

  }

  printf( "%d", aa[ i ] );

  }

  main()

  {

  int b, n;

  printf( "\nPlease enter a number and a base:\n" );

  scanf( "%d %d", &n, &b );

  fun( n, b );

  printf("\n");

  }

  解题思路:

  第一处:应该取模而不是整除,所以应为:aa[i]=m%k;。

  第二处:输出aa的位置不正确,所以应为:printf("%d",aa[i-1]);。


热点排行