C语言实验报告三.docx
- 文档编号:6128965
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:13
- 大小:17.74KB
C语言实验报告三.docx
《C语言实验报告三.docx》由会员分享,可在线阅读,更多相关《C语言实验报告三.docx(13页珍藏版)》请在冰点文库上搜索。
C语言实验报告三
C语言实验报告(三)
一、实验目的
1、掌握C语言中,循环结构
2、掌握C语言中,for语句和while语句的使用
3、掌握break语句与continue语句
4、掌握直到型循环do-while语句
二、实验内容
1.不能被3整除的自然数
输入一整数初始值n(0 样例输入: 10 样例输出: 10111314161719202223 要求输出的每个数据占4列。 ·程序代码: #include"stdio.h" intmain() { intn,i,t=1; scanf("%d",&n); for(i=n;t<=10;i++) if(i%3! =0) { printf("%4d",i); t++; } printf("\n"); return0; } 2.表达式求和 求1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值,n为键盘输入的一个整数,(0 样例输入: 3 样例输出: 10 ·程序代码: #include"stdio.h" intmain() { intn,i,sum,j; scanf("%d",&n); sum=0; for(i=1;i<=n;i++) for(j=1;j<=i;j++) sum+=j; printf("%d\n",sum); return0; } 3.数的平方表 描述: 输入两个空格隔开的整数n和m(0 输入: 用空格隔开的两个整数n和m(0 输出: 从n到m的平方 样例输入: 15 样例输出: 1的平方是1 2的平方是4 3的平方是9 4的平方是16 5的平方是25 ·程序代码: #include"stdio.h" intmain() { intm,n,i,t; scanf("%d%d",&n,&m); for(i=n;i<=m;i++) { t=i*i; printf("%d的平方是%d\n",i,t); } return0; } 4.求平方和 描述: 编写一个程序,根据输入的n,计算: 输入: 整数n(n>=0) 输出: 从1到n的平方和 样例输入: 100 样例输出: 338350 ·程序代码: #include"stdio.h" intmain() { intn,i,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum+=i*i; } printf("%d",sum); return0; } 5.求和值 描述: 求和值Sn=a+aa+aaa+……+aaaa…aa(n位) 如n=5,a=3,则是求S5=3+33+333+3333+33333。 输入: 用空格隔开的n和a 输出: s=和值 样例输入: 31 样例输出: s=123 ·程序代码: #include"stdio.h" intmain() { intn,i,sum,a,j; scanf("%d%d",&n,&a); sum=0;j=0; for(i=1;i<=n;i++) { j=j*10+a; sum+=j;//sum=sum+j; } printf("s=%d\n",sum); return0; } 6.被7整除的数 描述: 输出指定范围被7整除的数。 输入: 两个用空格隔开的整数n,m(0 输出: 输出单独占一行,在n到m之间(包含n和m),被7整除的数,用一个空格隔开。 样例输入: 1060 样例输出: 14212835424956 ·程序代码: #include"stdio.h" intmain() { intn,m,i; scanf("%d%d",&n,&m); for(i=n;i<=m;i++) if(i%7==0) { printf("%d",i); } printf("\n"); return0; } 7.指定范围的水仙花数 描述: 编写一个程序,打印出指定范围的所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数。 输入: 输入两个用空格隔开的整数(100 输出: 在n和m之间(含n和m),所有的水仙花数。 每行一个。 样例输入: 100999 样例输出: 153370371407 ·程序代码: #include"stdio.h" intmain() { intn,m,a,b,c,i; scanf("%d%d",&n,&m); for(i=n;i<=m;i++) { a=i/100; b=i/10%10; c=i%10; if(i==a*a*a+b*b*b+c*c*c) printf("%d\n",i); } return0; } 8.奇数的乘积 描述: 给你n个整数,求它们中所有奇数的乘积。 输入: 输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。 输出: 输出每组数中的所有奇数的乘积,对于每个测试实例,输出一行。 样例输入: 3123;42345 样例输出: 315 ·程序代码: #include"stdio.h" intmain(void) { intn,i,m,s; while(scanf("%d",&n)==1) { s=1; for(i=1;i<=n;i++) { scanf("%d",&m); if(m%2! =0) s*=m; } printf("%d\n",s); } return0; } 9.阶乘和 描述: 编写一个程序,其功能为: 计算并输出: sum=1! +2! +...+n! 输入: 一个在0到10之间(含0和10)的整数n。 输出: sum=1! +2! +...+n! 样例输入: 2 样例输出: sum=3 ·程序代码: #include"stdio.h" intmain() { intn,i,sum,a,j; scanf("%d",&n); sum=0;j=1; for(i=1;i<=n;i++) { j=j*i; sum+=j;//sum=sum+j; } printf("sum=%d\n",sum); return0; } 10.牛顿迭代求平方根 描述: xn的初值可以取a/2。 输入: 一个正实型数据a 输出: a的平方根,保留5位小数。 样例输入: 2样例输出: 1.41421 ·程序代码: #include"stdio.h" #include"math.h" intmain() { floata,x1,x2; scanf("%f",&a); x1=a/2; x2=(x1+a/x1)/2; while(fabs(x1-x2)>=1e-5) { x1=x2; x2=(x1+a/x1)/2; } printf("%.5f\n",x2); return0; } 11.整数之间的素数 描述: 求指定的两个整数m、n之间的素数(m<=n) 输入: 只有一行,是空格隔开的两个正整数m和n。 (m<=n) 输出: 在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出(最后一行数目可以少)。 样例输入: 100200 样例输出: 101103107109113 127131137139149 151157163167173 179181191193197 199 ·程序代码: #include"stdio.h" #include"math.h" intmain() { intm,n,a,flag=0,i=2,b=0; scanf("%d%d",&m,&n); for(a=m;a<=n;a++) { i=2; flag=0; while(i<=sqrt(a)&&flag==0) { if(a%i==0) flag=1; elsei++; } if(flag==0) { printf("%6d",a); b++; if(b%5==0) printf("\n"); } } return0; } 12.打印菱形 描述: 从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。 输入: 正整数n(1≤n≤9)。 输出: 指定的菱形。 第一行前面有n-1个空格,第二行有n-2个空格,以此类推,直到第n行;从第n+1行后空格开设逐渐增多,每次增加一个。 样例输入: 5 样例输出: * *** ***** ******* ********* ******* ***** *** * ·程序代码: #include intmain() { intm,n,i,t; scanf("%d",&n); for(i=1;i<=n;i++) { for(m=n-i;m>=1;m--)//here { printf(""); } for(t=2*i-1;t>=1;t--) { printf("*"); } printf("\n"); } for(i=n-1;i>=1;i--) { for(m=n-i-1;m>=0;m--)//here { printf(""); } for(t=2*i-1;t>=1;t--) { printf("*"); } printf("\n"); } return0; } 13.sumofintegers 描述: Inthisproblem,yourtaskistocalculateSUM(n)=1+2+3+...+n 输入: Theinputfirstlineisaintegermdenotesnumberofinputandbelowwillconsistofmintegersn,oneintegerperline 输出: Foreachcase,outputSUM(n)inoneline,followedbyablankline.Youmayassumetheresultwillbeintherangeof32-bitsignedinteger. 样例输入: 2 1 100 样例输出: 1 5050 ·程序代码: #include"stdio.h" intmain() { intn,i,m,sum,j; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&m); sum=0; for(j=1;j<=m;j++) sum+=j; printf("%d\n\n",sum); } return0; } 14.爬井的小明 描述: 由于有不道德的人偷走了一个窨井盖子,而小明不慎掉了下去,他奋力攀爬。 他想知道需要多长时间可以爬出去。 (数据保证一定可以爬出)已知,小明每分钟可以爬u米,但是每爬完一分钟必须要休息一分钟,在他休息的时间里,他又会往下滑d米。 井深h米。 如果小明在某个时刻已经到达井口,但是未满1分钟,把这一分钟算满。 输入: hud分别表示井深、小明每分钟爬的距离,和每分钟下滑的距离 输出: 一个整数,表示需要用多少分钟爬出。 样例输入: [sample1] 1021 [sample2] 2031 样例输出: [sample1] 17 [sample2] 19 ·程序代码: #include intmain() { doubleh,u,d,v,s; intt; while(scanf("%lf%lf%lf",&h,&u,&d)==3) { t=0; s=0; v=u-d; for(;;) { if(s+u>=h) { ++t; break; } t+=2; s+=v; } printf("%d\n",t); } return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告