以下程序的功能是:通过函数 func 输入字符并统计输入字符的个数。输入时用字符@作为输入结束标志。请填空。include long ; /* 函数说明语句 */main(){ long n;n=func(); printf("n=%ld\n",n);}long func(){ long m;for( m=0; getchar()!='@'; );retum m;}
举一反三
- 下列程序接受一个整数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,_________); }
- 有以下函数 #include [stdio.h] void func( int n ) { int i ; for( i = 0 ; i <= n ; i++ ) printf( "*" ) ; printf( "#" ) ; } void main( ) { func( 3 ) ; printf( "????" ) ; func( 4 ) ; printf( "\n" ) ; } 程序运行输出结果是( ). A: **** B: ????***** C: *** D: ????***** E: ** F: ????***** G: **** H: ????***
- //函数的递归调用――求n!//请选择空白位置的正确内容#include <;stdio.h>;//用递归实现的计算阶乘的函数long factn(int n){long s;if(n==0)//n为0则结果为1return(1);else//n不为0(实质是指n>;0)则结果为n*(n-1)!{s=________;//递归调用return(s);}}int main(){long n;printf("\n请输入一个不小于0的整数:");scanf("%d",&n);printf("\n%d!=%d\n",n,factn(n));return 0;} A: n*(n-1)! B: n*factn(n-1) C: factn(n-1)
- 下面程序的输出结果为______ 。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 );}
- 从键盘上输入一个正整数n,计算并输出n的阶乘。 例如,如果从键盘上输入8, 程序的运行结果应为:The result is: 40320。 #include #include #include long fac( int n ) { int i; long t=1; for( i=2;i<=n;i++) t = t*i; return (t); } main() { int n; long int s; clrscr(); printf("Enter an integer number:"); /************found************/ ____(1)____; s = fac(n); /************found************/ printf("The result is : ____(2)____ ",s); }