C语言学习知识程序设计实验与习题集.规范标准答案.doc
《C语言学习知识程序设计实验与习题集.规范标准答案.doc》由会员分享,可在线阅读,更多相关《C语言学习知识程序设计实验与习题集.规范标准答案.doc(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 2 2程序填空程序填空 (1)以下程序的功能是计算150之间能被7整除的整数之和。 #include void main() int i,sum= 0 ; for(i=1; 50 ;i+) if( i%7=0 ) sum+=i; printf(sum=%dn,sum); (2) 下面程序接收来自键盘的输入,直到输入+Z(值 为-1)键为止。这些字符被原样输出,但若有连续一个以上的空 格时只输出一个空格。请填空。 #include void main() char cx; char front= ; while ( (cx=getchar()!=n ) if (cx!= ) putchar(c
2、x); if (cx= = ) if (front!= ) putchar(cx); front=cx; 3 3程序改错程序改错 (1)下列程序的功能是求 1+3+5+99的和。 #include void main( ) int s,i; /int s=0,i; i=1; while(i=99) s=s+i; /s=s+i;i+; printf(1+3+5+99的和是:%dn,s); (2)下面程序的功能是输入一个正整数,判断是否是素数,若 为素数输出1,否则输出0。 #include void main() int i,x,y=0; /y=1 scanf(%d, for(i=2;i=1e-
3、6) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; printf(pi=%10.6fn,pi); /* 方法(2)次数控制*/ #include #include main() int s; long times; float n,t,pi; t=1; pi=0; n=1.0; s=1; for(times=1;times=1e9;times+) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; printf(pi=%10.6fn,pi); (2 2)题)题 main() int i,j,frame; double wheattal=0;
4、 double wheatfnu=1; printf(Please input frames numbers:); scanf(%d, for(i=0;iframe;i+) wheattal+=wheatfnu; wheatfnu+=wheatfnu; printf(n Total wheattatols timeter=%en,wheattal/1.40e8); (3)题)题 /*方法一:使用递推公式 n=n+2*/ main() int i,n=1; double s=0,t=1; for(i=1;i=20;i+) t*=n; s+=t; n+=2; printf(s=%lf,s); ge
5、tch(); /*方法二:使用通项公式 2*i+1*/ main() int i; double s=0,t=1; for(i=1;i=20;i+) t*=2*i+1; s+=t; printf(s=%lf,s); getch(); /*方法三*/ #include stdio.h main() long total,sum,m,n,t; total=0; for(m=1;m=20;m+) sum=1;t=1; for(n=1;n=m;n+) sum=sum*t; t=t+2; total=total+sum; printf(total=%ld,total); 2 2程序填空程序填空 (1)以
6、下程序的功能是计算150之间能被7整除的整数之和。 #include void main() int i,sum= 0 ; for(i=1; 50 ;i+) if( i%7=0 ) sum+=i; printf(sum=%dn,sum); (2) 下面程序接收来自键盘的输入,直到输入+Z(值 为-1)键为止。这些字符被原样输出,但若有连续一个以上的空 格时只输出一个空格。请填空。 #include void main() char cx; char front= ; while ( (cx=getchar()!=n ) if (cx!= ) putchar(cx); if (cx= = ) i
7、f (front!= ) putchar(cx); front=cx; 3 3程序改错程序改错 (1)下列程序的功能是求 1+3+5+99的和。 #include void main( ) int s,i; /int s=0,i; i=1; while(i=99) s=s+i; /s=s+i;i+; printf(1+3+5+99的和是:%dn,s); (2)下面程序的功能是输入一个正整数,判断是否是素数,若 为素数输出1,否则输出0。 #include void main() int i,x,y=0; /y=1 scanf(%d, for(i=2;i=1e-6) pi=pi+t; n=n+2
8、; s=-s; t=s/n; pi=pi*4; printf(pi=%10.6fn,pi); /* 方法(2)次数控制*/ #include #include main() int s; long times; float n,t,pi; t=1; pi=0; n=1.0; s=1; for(times=1;times=1e9;times+) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; printf(pi=%10.6fn,pi); (2 2)题)题 main() int i,j,frame; double wheattal=0; double wheatfnu=
9、1; printf(Please input frames numbers:); scanf(%d, for(i=0;iframe;i+) wheattal+=wheatfnu; wheatfnu+=wheatfnu; printf(n Total wheattatols timeter=%en,wheattal/1.40e8); (3)题)题 /*方法一:使用递推公式 n=n+2*/ main() int i,n=1; double s=0,t=1; for(i=1;i=20;i+) t*=n; s+=t; n+=2; printf(s=%lf,s); getch(); /*方法二:使用通项
10、公式 2*i+1*/ main() int i; double s=0,t=1; for(i=1;i=20;i+) t*=2*i+1; s+=t; printf(s=%lf,s); getch(); /*方法三*/ #include stdio.h main() long total,sum,m,n,t; total=0; for(m=1;m=20;m+) sum=1;t=1; for(n=1;n=m;n+) sum=sum*t; t=t+2; total=total+sum; printf(total=%ld,total); 2程序填空程序填空 (1)求任意两个整数之间所有的素数。 #inc
11、lude void main() int i1,i2,i,j,flag; printf(input two integer(i1,i2):); scanf(%d%d, printf(prime number:n); for(i= i1 ;i= i2 ;i+) flag=1; for(j=2;j=i-1;j+) if(i%j=0) flag= 0 ; break; if(flag=1)printf(%dt,i); printf(n); (2)以下程序的功能是输出下三角九九乘法表。 #include void main() int i,j; for(i=1;i= 9 ;i+) for(j=1;j=
12、 i ;j+) printf(%d*%d=%dt,i,j, i*j ); printf(n); 3 3程序改错程序改错 (1)下列程序的功能是输出所有的“水仙花数”。所 谓“水仙花数”是指一个三位数,该数的各位数字立 方和等于该数本身的数。例如:153是一个“水仙 花数”,因为153=13+53+33。 #include void main( ) int x,s,a; for(s=0,x=100;x1000;s=0,s=0,x+) a=x; while(a!=0) s=s+(a%10)*(a%10)*(a%10); a=a/10; if(x=s) printf(%d ,x); (2)以下程序的
13、功能是输出 1 至 1000 之间的所有完数。 若一个整数等于该数的所有因子之和,则称该整数为完数。 #include void main() int i,j; int s; for(i=1;i=999; i+) s=1; /s=0; for(j=1;ji-1;j+) /for(j=1;j=i-1;j+) if(i/j=0 ) s=s+j; /i%j if(s=i)printf(%5d,i); /s=i 4设计性实验设计性实验 SY61.C main() int i,j,k,n=0; /*i,j,k 分别代表三位整数的百位分别代表三位整数的百位,十位十位,个位个位.n 代表个数代表个数*/ f
14、or(i=1;i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+) if(i*i*i+j*j*j+k*k*k=1099) /*在所有组合中找出满足指定条件的在所有组合中找出满足指定条件的*/ printf(%4d,100*i+10*j+k); n+; if(n%5=0) printf(n); /*表示每行输出表示每行输出 5 个数个数*/ SY62.C #include #include main() int i,j,k; for(i=1;i=4;i+) /*上三角形有上三角形有 4 行行,每循环每循环 1 次输出次输出 1 行行*/ for(k=1;k=8)*/ p
15、rintf( ); for(j=1;j=1;i-) /*下面为倒三角形下面为倒三角形,有有 3 行行*/ for(k=1;k8-(2*i-1)/2);k+) printf( ); for(j=1;j=0 /*该循环指定有根的区间该循环指定有根的区间*/ do x0=(x1+x2)/2; fx0=x0*(2*x0-4)*x0+3)-6; if(fx0*fx1)1e-5); /*该循环实现二分法求根该循环实现二分法求根 */ printf(root x=%f,x0); 2)程序填空程序填空 (1) #include void main() int m,n,num1,num2,temp; print
16、f(Input two positive integer:n); scanf(%d,%d, if(num1num2) temp=num1; num1=num2; num2=_temp_; m=num1; n=num2; while(n!=0) temp=_m%n_; m=n; n=temp; printf(The grestest common divisor is %dn,m); printf(The lowest common multiple is %dn,num1*num2/_m_); (2)下面程序是计算表达式1+(1+2)+(1+2+3) +(1+2+3+10)和。 #includ
17、e void main() int sum,i,j,t; sum= ; for(i=1;i=10;i+) t=0; for(j=1;j= ;j+) t=t+j; sum= ; printf(1+(1+2)+(1+2+3)+(1+2+3+10) =%dn,sum); 0 i sum+t 3程序改错程序改错 (1)下面的程序是求1100之间的素数,并将所有素数按每 行10个输出。 #include #define /#include void main() int i,m,k,n; /int i,m,k,n=0; for(m=1;m=100;m=m+2) if(n/10=0) /if(n%10=0
18、) printf(n); k=1; for(i=2;i=sqrt(m);i+) if(m%i!=0) /if(m%i=0) k=0;break; if(k=1) printf(%3d ,m);n=n+1; printf(n); (2)下面程序是求表达式 1-1/2+1/3-1/4+1/5-1/100 的 值,结果保留小数后 4 位。 #include void main() int i; float s; i=0; /i=1; s=1; /s=0; while(i100) if(i%2=0) s=s-1/i; /s=s-1.0/i; else s=s+1/i; /s=s+1.0/i i=i+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习 知识 程序设计 实验 试验 习题集 规范 标准答案
限制150内