填空题 下列给定程序中函数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、
【正确答案】 1、(1)错误:long k=1; 正确:long k=0;    
【答案解析】(2)错误:while(num) 正确:while(num); [解析]错误1:k用来存放各位数字的平方和,初值应为0。 错误2:do-while语句的语法,while()后加分号。