niusouti.com

下列给定程序中函数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;/*

题目

下列给定程序中函数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));

}


相似考题
更多“下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。 例如:输入352,则输出应 ”相关问题
  • 第1题:

    给定程序MODll.C中函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

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


    正确答案:(1)if(t==0) (2)*zero=count;
    (1)if(t==0) (2)*zero=count; 解析:本题中函数的功能是统计一个无符号整数中各位数字值为0的个数。对无符号数进行截取,然后对每个数字进行判断并统计。

  • 第2题:

    3、试编写程序,完成以下功能: 1、定义一个函数(函数名为f):计算给定的一个三位正整数的各位数字之和 及 各位数字之积,并将结果返回。 2、根据用户输入的函数调用表达式直接输出结果。具体输入输出格式见样例。


    错误

  • 第3题:

    试编写程序,完成以下功能: 1、定义一个函数(函数名为f):计算给定的一个三位正整数的各位数字之和 及 各位数字之积,并将结果返回。 2、根据用户输入的函数调用表达式直接输出结果。具体输入输出格式见样例。


    A将p1指向的字符赋给p2,然后再移向下一个字符,直到结束字符0为止,因此这是将p1所指的字符串复制

  • 第4题:

    下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若numl和num2分别为49和21,则输出的最大公约数为7;若numl和num2分别为27和81,则 输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构。


    正确答案:
    【参考答案】
    (1)t=a;a=b;b=t;
    (2)return(b);或return b;
    【考点分析】
    本题考查:return语句,功能是计算表达式的值,并将其返回给主调函数。
    【解题思路】
    求最大公约数算法一般采用辗转相除法。辗转相除法的算法为:首先将m除以n(m>n)得余数r,再用余数r去除原来的除数,得到新的余数,重复此过程直到余数为0时停止,此时的除数就是m和n的最大公约数。程序首先判断参数a和b的大小,如果a<b则进行交换,这里是一个数学逻辑错误,应先将a的值赋给中间变量t,再将h的值赋给a,最后将t的值赋给b。当余数r为0时,除数b即为所求的最大公约数,所以函数应返回b。

  • 第5题:

    编程题2:编写函数fun2,计算正整数num的各位上的数字之积。例如,若输入252,则输出应该是20;若输入202,则输出应该是:0。


    编程题2:编写函数fun2,计算正整数num的各位上的数字之积。例如,若输入252,则输出应该是20;若输入202,则输出应该是:0。