请补充fun函数,该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组S中。例如,当n=123时,s="321"。
注意:部分源程序已给出。
淆勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define M 80
char s[M];
void fun(long int n)
int j=0;
while( (1) )
s[j]= (2) ;
n/=10;
j++;
(3) ;
main()
long int n=1234567;
printf("The origial data\n");
printf("n=%1d",n);
fun(n);
printf("\n%s",s);
参考答案:s[j]=’\0’
解析: 该题中函数功能是把一个整数转换成字符串,并倒序保存在字符数组s中。本题解题思路是在循环中对整数进行截取,并把截取结果进行转换。
第一空:循环截取n的每一位,所以循环条件是n大于0,即第一空填“n>0”.
第二空:循环中截取当前数字的最低一位并进行数字到字符的转换,数字字符与对应的整数ASCII码相差是48,等于字符’0’的ASCII码,所以第二空填“n%10+’0’”。
第三空:即那个截取后的字符放入新串,在新串尾部加结束标志,所以第三空填“s[j]=’\0’”。