ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:27.12KB ,
资源ID:11886892      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11886892.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计实验与习题答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计实验与习题答案.docx

1、C语言程序设计实验与习题答案 2程序填空(1)以下程序的功能是计算150之间能被7整除的整数之和。#includevoid 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);

2、if (cx= = )if (front!= ) putchar(cx); front=cx; 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,&x); for(i=2;i=x/2&y;i+) if (

3、x%i)!=0) y=0; /x%i=0 printf(%dn,y); 4设计性实验(1)题/* 方法(1)精度控制 */#include #include main() int s; float n,t,pi; t=1; pi=0; n=1.0; s=1; while(fabs(t)=1e-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;

4、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)题main() int i,j,frame; double wheattal=0; double wheatfnu=1; printf(Please input frames numbers:); scanf(%d,&frame); for(i=0;iframe;i+) wheattal+=wheatfnu; wheatfnu+=wheatfnu; printf(n Total wheattatols

5、 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();/*方法二:使用通项公式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.hmain()long total,sum,m,

6、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)以下程序的功能是计算150之间能被7整除的整数之和。#includevoid main()int i,sum= 0 ; for(i=1; 50 ;i+)if( i%7=0 ) sum+=i; printf(sum=%dn,sum);(2) 下面程序接收来自键盘的输入,直到输入+Z(值为-1)键为止。这些字符被原样输出,但若有连续一个以上的空格时只输出

7、一个空格。请填空。#include void main() char cx;char front= ;while ( (cx=getchar()!=n ) if (cx!= )putchar(cx); if (cx= = )if (front!= ) putchar(cx); front=cx; 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)下面程序的功能是输入一个正整

8、数,判断是否是素数,若为素数输出1,否则输出0。#include void main() int i,x,y=0; /y=1 scanf(%d,&x); for(i=2;i=x/2&y;i+) if (x%i)!=0) y=0; /x%i=0 printf(%dn,y); 4设计性实验(1)题/* 方法(1)精度控制 */#include #include main() int s; float n,t,pi; t=1; pi=0; n=1.0; s=1; while(fabs(t)=1e-6) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; printf(pi=%

9、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)题main() int i,j,frame; double wheattal=0; double wheatfnu=1; printf(Please input frames numbers:); sc

10、anf(%d,&frame); 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();/*方法二:使用通项公式2*i+1*/main() int i; double s=0,t=1; for

11、(i=1;i=20;i+) t*=2*i+1; s+=t; printf(s=%lf,s); getch();/*方法三*/#include stdio.hmain()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)求任意两个整数之间所有的素数。#include void main()int i1,i2,i,j,flag; printf(input two int

12、eger(i1,i2):); scanf(%d%d, &i1 , &i2 ); 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= i ;j+) printf(%d*%d=%dt,i,j, i*j ); printf(n)

13、; 3程序改错(1)下列程序的功能是输出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,该数的各位数字立方和等于该数本身的数。例如:153是一个“水仙花数”,因为153=13+53+33。 #include void main( ) int x,s,a; for(s=0,x=100;x1000;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)以下程序的功能是输出1至1000之间的所有完数。若一个整数等于该数的所有因子之和,则称该整数为完数。#include void m

14、ain() 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=i4设计性实验SY61.Cmain()int i,j,k,n=0; /*i,j,k分别代表三位整数的百位,十位,个位.n代表个数*/ for(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) /*在所有组合中找出满足指定条件的*/ pri

15、ntf(%4d,100*i+10*j+k); n+; if(n%5=0) printf(n); /*表示每行输出5个数*/ SY62.C#include#includemain()int i,j,k;for(i=1;i=4;i+) /*上三角形有4行,每循环1次输出1行*/ for(k=1;k=8)*/ printf( ); for(j=1;j=1;i-) /*下面为倒三角形,有3行*/ for(k=1;k8-(2*i-1)/2);k+) printf( ); for(j=1;j=0&n0); /*该循环指定有根的区间*/ do x0=(x1+x2)/2; fx0=x0*(2*x0-4)*x0

16、+3)-6; if(fx0*fx1)1e-5); /*该循环实现二分法求根 */printf(root x=%f,x0);2)程序填空(1)#include void main() int m,n,num1,num2,temp; printf(Input two positive integer:n); scanf(%d,%d,&num1,_&num2_); if(num1num2) temp=num1; num1=num2; num2=_temp_; m=num1; n=num2; while(n!=0) temp=_m%n_; m=n; n=temp; printf(The grestes

17、t 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)和。#includevoid 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+t3程序改错(1)下面的程序是求1100之间的素数,并将所有

18、素数按每行10个输出。#include #define /#includevoid 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) 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位。#includevoid main()

19、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; printf(1-1/2+1/3-1/4+-1/100=%10.3fn,s); 4设计性实验(1)编程输出以下图形。#include void main() int i,j,k; for(i=1;i=6;i+) for(k=1;k=20-(2*i-1)/2;k+) printf( ); for(j=1;j=2*i-1;j+) printf(%d,i); printf(n);

20、 (2)编写一个程序输出所有5位数字的回文。方法一:#include void main() long x,a,t; /x:原5位整数,a:用来暂存x,t:把a反序后的数 int i,num=0; /i:表示原5位数的某一位,num:回文数的个数 for(x=10000;x0) i=a%10; /取出当前数的最后一位到i t=t*10+i; /把取出的i组装到t a=a/10; if(x=t) /原来的5位整数等于反序后的数t printf(%ld,x); num+; if(num%10=0) printf(n); /每行输出10个数 方法二:/*求5位整数中所有回文*/#include void main() long int n,m,t=0; for(n=10000;n=99999;n+) if(hw(n)=1) printf(%6ld,n); t+; if(t%5=0) printf(n); /

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1