给定程序MODll.C中函数fun的功能是:找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,

admin2013-03-29  23

问题 给定程序MODll.C中函数fun的功能是:找出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。
    请改正函数fun中指定部位的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#define N 100
int fun(int*s,int n)
{int i,j,k,a,b,c;
    j=0;
    for(i=100;i/***************found******************/
    k=n;
    a=k%10; k/=10;
    b=k%10;k/=10;
/***************found******************/
    c=k%10
    if(a==b&&a==c)  s[j++]=i;
    }
    return j;
}
main()
{  int a[N],n,num=0,i;
  do
  {prrntf("\nEnter n(<=1000):
"); scanf("%d",&n);}
  while(n>1000);
  num=fun(a,n);
  pr~ntf("\n\nThe result:\n");
  for(iz0;ia);
  printf("\n\n");
}

选项

答案(1)k=i; (2)c=k%10;

解析 (1)第一个标识下的“k=n",n是一个固定值,循环计算结果每次都会一样,这里应该是从100开始往n计算,逐个求个位、十位和百位,故第一标识下应改为“k=i;"。
    (2)C语言语句以分号“;"结尾,而第二标识下“c=k%10"没有用分号结尾,显然不正确,应改为“c=k%10;"。
转载请注明原文地址:https://jikaoti.com/ti/GBn0FFFM
0

最新回复(0)