2013年计算机二级C语言上机题库四十三_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年6月3日
 改错题
  下列给定程序中,函数fun的功能是:找出100至n(不大于1000)之间三个位上的数字都相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。
  请改正函数fun中的错误,使它能得出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  #include <stdio.h>
  #define N 100
  int fun(int *s, int n)
  { 来源:考试大网
  int i, j, k, a, b, c;
  j = 0;
  for (i=100; i<n; i++)
  {
  /********found********/
  k = i;
  a = k%10;
  k /= 10;
  /********found********/
  b = k%10;
  c = k/10;
  if (a==b && a==c)
   s[j++] = i;
  }
  return j;
  }
  main()
  {
  int a[N], n, num = 0, i;
  do
  {
  printf("\nEnter n(<=1000): ");
  scanf("%d", &n);
  } while (n > 1000);
  num = fun(a, n);
  printf("\n\nThe result :\n");
  for (i=0; i<num; i++)
  printf("%5d", a[i]);
  printf("\n\n");
  }
  参考答案:
  k=n;改为k=I;
  b=k/10;改为b=k%10;

相关文章