问答题 综合应用 请编写函数fun,其功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。 例如:若输入的数据为 123,则输出结果为:输入的数字是3位。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include int fun(int n) { } main() { int n, place ; do{ printf("请输入一个4位以内的正整数: "); scanf("%d", &n); } while (n<0 || n>9999); place = fun(n); printf( "输入的数字是%d位/n", place ); }
【正确答案】 int bits=1;//临时变量统计位数 while(n/10)//判断是否为0,若不为0,bits加1,再将n除以10,继续判断 { bits++; n=n/10; } return bits;
【答案解析】【考点分析】 主要考察考生对循环跳出的条件的理解,以及理解取数字位数的方法 【解题思路】 通过对指定的多位数每次除以10,去掉最后一位,直到为0结束,使用临时变量来统计一个多位数的位数。