C语言程序设计练习题(含程序及参考答案) 联系客服

发布时间 : 星期六 文章C语言程序设计练习题(含程序及参考答案)更新完毕开始阅读c8cbdbe8f8c75fbfc77db2db

}

for(i=0;i<50;i++) {

if(aa[i]>0)

(*zs)++; (*fs)++; (*l)++; if(aa[i]<0) if(aa[i]==0)

}

void main() { }

13、计算并输出方程X2+Y2=1989的所有整数解 #include void fun() { }

void main()

第 9 页 共 34 页

int x,y;

for(x=1;x<=44;x++)

for(y=1;y<=44;y++) if(x*x+y*y==1989)

printf(“x=%d ,y=%d \\n”,x,y);

float num[50]; int i,czs,cfs,cl; czs=cfs=cl=0;

printf( \for(i=0;i<50;i++)

scanf(“%f”,&num[i]); fun(&czs,&cfs,&cl,num);

printf(\正数:%d ,负数:%d ,零:%d \\n\

{ printf(“方程x^2+y^2=1989的整数解为:\\n”); fun();

}

14、从键盘输入10个整数,求出其中的最大值。 #include int fun(int aa[]) { int m,i; m=aa[0];

for(i=1;i<10;i++) if(aa[i]>m)

m=aa[i];

return m;

}

void main() { int num[10],i;

printf(“请从键盘输入10个整数:\\n”); for(i=0;i<10;i++)

scanf(“%d”,&num[i]);

printf(“\\n最大的数是:%d\\n”,fun(num));

}

15、从键盘输入n值,输出如右图形。(例如n=5时) #include void fun(int n) { int i,j;

for(i=1;i<=n;i++) {

for(j=1;j<=i;j++)

1 2 3 4 5 1 1 2 3 4 1 1 1 2 3 1 1 1 1 2 1 1 1 1 1 第 10 页 共 34 页

printf(“=”,1); for(j=2;j<=n+1-i;j++)

printf(“=”,j);

printf(“\\n”);

} }

void main() { int n;

printf(“\\n请输入图形的行数:”); scanf(“%d”,&n); fun(n);

}

16、使用函数的方式,计算如下公式的值。 1 1 1 A1=1,A2=──,A3=──,??An=──── 1+A1 1+A2 1+A(n-1) 例如:若n=10,则应输出: 0.617977。 #include float fun ( int n ) {

float A=1; int i; for (i=1; i<=n; i++) A = 1.0/(1+A); return A ; }

void main( ) {

int n ;

printf(\

第 11 页 共 34 页

scanf(\

printf(\}

* 17、使用函数的方式,,按下面的公式计算并输出数列的第m项。 ┌ 2, m = 1; │ 3, m = 2; FFF( m ) = ┤ 5, m = 3; └ FFF(m - 3) + FFF(m - 1), m > 3;

例如,若输入整数 9,则应输出:47。 (不用做)

* 18、使用函数的方式,按以下递归公式求函数值 ┌10 (n=1) fun(n)=│

└fun(n-1)+2 (n>1)

例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。

(不用做)

19、计算并输出当0

例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。 #include #include double fun(double x) {

int n=1;

/* 循环计数*/

/* 累计数*/

double sn=1;

double xn=1,xn1=0; /*x的n值,以及x的n-1值;*/ while(fabs(xn-xn1)>=0.000001)/*绝对值是否合格*/

第 12 页 共 34 页