问答题 给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位数,a2放十位数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 给定源程序: #include fun( int *b ) { int k,a1,a2,i=0; for(k=10; k<=55; k++) { /************found************/ a2=k/1O; 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 }
【正确答案】第一处: 取当前变量k的十位数字上的数,所以应改为:a2=k/10;。 第二处: 要求统计个数并存入变量i中,最后返回i,所以应改为:return i;。
【答案解析】