当前位置:首页 > C语言习题集合(函数)
第五章 函 数 ·17·
int number;
scanf(\if(number<0)
{ putchar(‘-’); number= -number; }
convert(number); }
13.输入I am a student.时,下面程序运行结果是________。
#include
int i,c,num=0,word=0; char string[81]; gets(string);
for(i=0;c=string[i];i++) if(c==’ ’)
word=0;
else if(word==0) {word=1;num++;}
printf(\}
14.下面程序的运行结果是________。
#include
switch(g) {
case 0:return 0;
case 1:case 2:return(1); }
return(fib(g-1)+fib(g-2)); }
main() {
long k; k=fib(5);
printf(\}
15.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数
的首部 【1】 。(要求形参名为b。) main() {
double s[10][22];
第五章 函 数 ·18·
int n; ┆ ┆
fun(s); ┆ }
16.以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行
上的最大值。请填空。 #define N 3 #define M 4
void LineMax(int x[N][M]) {
int i,j,p;
for(i=0; i for(j=1; j if(x[i][p] printf(\【2】 ); } } main() { int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1}; 【3】 ; } 17.下面函数的功能是:求x的y次方,请填空。 double fun( double x, int y) { int i; double z; for(i=1, z=x; i 18.若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个数组 元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。 fun( int a[ ]) { int i; for(i=1; i<=10; i++) 【1】=i; for(i=0; i<5; i++) 【2】=a[i]; } 19.下面函数的功能是计算s?1?double fun(int n) 111????,请填空。 1*21*2*31*2*3*4*?*n 第五章 函 数 ·19· { double s=0.0,fac=1.0; int i; for(i=1,i<=n;i++) { fac=fac【1】; s=s+fac; } return s; } 20.下面pi函数的功能是,根据以下公式返回满足精度e要求的p的值。根据以下算法补 足所缺语句。 p?2*(1?11*21*2*31*2*3*?*n?????) 1*31*3*51*3*5*71*3*5*7*??2n?1? double pi(double eps) { double s=0.0,t=1.0; int n; for(【1】 ;t>eps;n++) { s+=t; t=n*t/(2*n+1); } return(2.0* 【2】 ); } 21.读下面的程序,填空完善程序。 main() { int a,b,c; scanf(\【1】 ); c= 【2】(a,b); printf(\} int max(x,y) 【3】 ; { int z; if(x>y) z=x; else z=y; 【4】 ; } 22.下面程序根据对x的输入,求1到x的累加和。 float fun(int n) { int i; float c; 第五章 函 数 ·20· 【1】 ; for(i=1;i<=n;i++) c+=i; 【2】 ; } main() { int x; scanf(\【3】 ); printf(\} 23.分别计算并输出1!,2!,3!,4!和5!。 main() { int i; for(i=1;i<=5;i++) printf(\【1】 ); } int fac(int n) { 【2】 f=1; f*=n; return(f); } 24.求出数组中的最大、最小元素值以及所有元素的均值。 【1】 ; float average(int n,float array[]) { int i; float sum; max=min=sum= 【2】 ; for(i=1;i if(max return(sum/n); } main() { int i; float aver,score[10]; printf(\ for(i=0;i<10;i++) scanf(\【3】 ); aver=average(10,score); printf(\}
共分享92篇相关文档