问答题
下列给定程序中函数fun的功能是:从整数10到55之间,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。
请改正程序中的错误,使它能得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
int fun(int*b)
{int k,a1,a2,i=0;
for(k=10;k<=55;k++)
{
/************found************/
a2=k/10;
a1=k-a2*10;
if((k%3==0&&a2==5)||(k%3==0&&a1==5))
{b[i]=k;i++;}
}
/************found************/
return k;
}
main()
{int a[100],k,m;
m=fun(a);
printf("The result is:/n");
for(k=0;k<m;k++)
printf("%4d",a[k]);
printf("/n");
}