下列给定程序中,函数fun的功能是计算正整数num的各位上的数字之平方和。
例如,输入352,则输出应该是38;若输入328,则输出应该是77。
请改正程序中的错误,使它能得出正确的结果。
注意,不要改动main函数,不得增行或删行,也不得更改程序的结构。只改动下划线中的语句。
程序代码:
#include
long fun(long num)
{
long k=1 ;
do
{
k+=(num%10)*(num%10) ;
num-=10 ;
}while(num);
return(k) ;
}
void main()
{
long n;
printf("
Please enter a number:");
scanf ("%ld",&n);
printf("
%ld
",fun(n));
}
举一反三
- Function fun(ByVal num As Long) As Long Dim k As Long k = 1 num = Abs(num) Do While num k = k * (num Mod 10) num = num \ 10 Loop fun = k End Function Private Sub command1_click() Dim n As Long, r As Long n = Val(InputBox("请输入一个数:")) r = fun(n) Print r End Sub 程序运行后,单击命令按钮,输入1234,输出结果为:( )
- 分析下列程序,写出运行结果。#includeint fun( int num ){ int k=1; while(num){ k=k* (num%10); num=num/10; } return k;}int main(){ int x=255; printf("x=%d\n",fun(x));}程序的运行结果是:______
- 以下程序的输出结果是#include<;stdio.h>;int fun6(int num){ int k=1;do{ k*=num%10; num/=10;}while(num);return k;}main( ){ int n=26;printf(“%d\n”,fun6(n));}
- 下列程序运行后的输出结果为。 # include <stdio.h> int num; void fun { printf ( "%d, ", num ); } int main { int num = 3; fun ; printf ( "%d,", num ); return 0; }
- 有如下程序,输入一个int型的整数num,逆向输出其各位数字,同时求出其各位以及各位数字之和。 #include#includevoid main() { int num,sum=0,k,i=0; cin>;>;num; while(num>;0) { (1) ; cout<; A: k=num%10 num=num/10 B: num=num%10 k=num/10 C: num=num/10 k=num%10 D: k=num/10 num=num%10
内容
- 0
下面程序的输出结果为______ 。long fun( long n ){ long t, s=0;while(n) { t=n%10; s=s*10+t; n=n/10; }return s;}void main( ){ long int a = 2345, b;b = fun( a ) ; printf( "%ld", b );}
- 1
下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环,请填空。main(){longintnum;scanf("%ld",&num);do{if(______)printf("%ld",num);scanf("%ld",&num);}while(______);}
- 2
下列程序接受一个整数n(1<=n<=12),计算n!,然后输出n!中非0数字的个数。其中函数fac( )用于计算阶乘,函数nzero( )用于计算非0数字的个数。 long fac(int n) /* 计算n!并返回 */ { long m=n; while(_________) m*=n; return m; } int nzero(long m) /*计算m中有几个非0数字并返回 */ { int num=_____________; while(m>0L) { if(_________) num++; m/=10L; } return num; /* num是m中非0数字个数 */ } void main( ) { int n; do{ printf(“输入一个1和12之间的整数:”); scanf(“%d”,&n); }while(____________); /*如果输入不正确,则重复输入 */ n<1||n>12 printf(“%d!中有%d个非0数字。\n”,n,_________); }
- 3
下面程序的输出结果是( )。#include <;stdio.h>;int num=10;int func(){int num=4;return ++num;}int main(){printf("%d\n",func());return 0;} A: 1 B: 4 C: 5 D: 10
- 4
下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为7654321时,t中的数为7531。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include <stdio.h> /* * * * * * * * * * found* * * * * * * * * * / void fun(long s, long t) { longsl=10; *t=s% 10; while(s>0) {s = s/100; *t = s%10 * sl + *t; /* * * * * * * * * * found* * * * * * * * * * / sl=sl*100; } } main( ) { long s, t; printf(" \nPlease enter s:"); scanf("%ld", &s); fun(s, &t); printf("The result is: %ld\n", t); }