万能百科  > 所属分类  > 

下列给定程序中,函数proc的功能是计算正整数m 各位上数字的平方和。 例如,输入498,则输出应该

下列给定程序中,函数proc的功能是计算正整数m 各位上数字的平方和。

例如,输入498,则输出应该是161。

请修改程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdlib.h>

include<stdio.h>

include<conio.h>

long proc(10ng m)

{

//****found****

long sum=1;

do

{

sum+=(m%10)*(m%10);

m/=l0;

//****found****

}

while(m)

return(sum);

}

void main

{

long n;

system("CLS");

printf("Please enter a number:");

scanf("%1d",&n);

printf("\n%ld\n",proc(n));

}

正确答案:

(1)错误:long sum=1;正确:long sum=0;(2)错误:while(m)正确:while(m);【解析】由函数proc可知,变量sum中存放正整数m 的各位上数字的平方和,其初始化为0。因此,“long sum= 1;”应改为“long sum=0;”。按照C语言的语法规则,语句都以分号结束,应在do-while语句最后加上分号。因此,“while(m)”应改为“while(m);”。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签