问题 填空题

下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。
例如:输入352,则输出应该是38;若输入328,则输出应该是77。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <conio.h>
long fun(long num)

/*+**+*+*+*found************/
long k=1;
do

k+=(num%10)*(num%10);
num/=10;
/*********+found*+**+*+******/
while(num)
return(k);
main()

long n;
clrscr();
printf("\Please enter a number:");
scanf("%ld",&n);
printf("\n%ld\n",fun(n));

答案

参考答案:(1)错误:long k=1; 正确:long k=0;
(2)错误:while(num) 正确:while(num);

解析:错误1:k用来存放各位数字的平方和,初值应为0。
错误2:do-while语句的语法,while()后加分号。

单项选择题
问答题 案例分析题