版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三 循环结构程序设计实验课程名:C语言程序设计专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师: 一、实验目的和要求1. 熟悉掌握用for语句,while语句和do_while语句实现循环的方法。2. 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。二、实验内容1、编写程序,随机输入15个整数,可以是正数、负数和零,计算它们的和、所有正数之和及所有负数之和,分类统计正数、负数以及零的个数,并分别打印出来。解答:(1)源代码:#include<stdio.h>int main()int a14,i,sum1=0,sum2=0,sum3=0,x=0
2、,y=0,z=0;printf("请输入十五个整数:");for(i=0;i<15;i+)scanf("%d",&ai);sum1=sum1+ai;if(ai>0)sum2=sum2+ai;x=x+1;if(ai=0)z=z+1;if(ai<0)sum3=sum3+ai;y=y+1;printf("所有数的和为%dn",sum1);printf("所有正数的和为%dn",sum2);printf("所有负数的和为%dn",sum3);printf("其中有%d
3、个正数n",x);printf("其中有%d个0n",z);printf("其中有%d个负数n",y);return 0;(2)运行结果: (3)运行结果分析:运行成功。 2、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13, 。求出这个数列的前20项之和。解答:(1)源代码:#include<stdio.h>int main()float a=1,b=2,c,sum=0;int i;printf("2/1,3/2,5/3,8/5,13/8,21/13,前二十项的和为");for(i=1;i&l
4、t;21;i+)sum=sum+b/a;c=a+b;a=b;b=c;printf("%.2fn",sum);return 0;(2)运行结果: (3)运行结果分析:运行成功3、编写程序,求 1!+ 2!+ 3!+ +N!的值,N的值由键盘输入。解答:(1)源代码:#include<stdio.h>int main()int a,c,i,s,sum;s=1;sum=0;printf("1!+ 2!+ 3!+ +N!n");printf("请输入N的值n");scanf("%d",&c);for(i
5、=1;i<=c;i+)for(a=1;a<=i;a+)s=s*a;sum=sum+s;s=1;printf("其结果为%dn",sum);return 0;(2)运行结果: (3)运行结果分析:运行成功。4、编程序按下列公式计算 e 的值(精度为 1e-6): e=1+1/1!+1/2!+1/3!+1/n! 解答:(1)源代码:#include<stdio.h>int main()int a,c,i;float sum,s;s=1;sum=0;for(c=1;1/s>=1e-6;c+)s=s*c;s=1;for(i=1;i<=c;i+)f
6、or(a=1;a<i;a+)s=s*a;sum=sum+1/s;s=1;printf("e=%fn",sum);return 0;(2)运行结果: (3)运行结果分析:运行成功 5、输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。解答:(1)源代码:#include<stdio.h>int main()char s;int a=0,b=0,c=0,d=0;printf("请输入一行字符");while(s=getchar()!='n')if(s>='a'&&s&l
7、t;='z')|(s>='A'&&s<='Z')a+;if(s=' ')b+;if(s>='0'&&s<='9')c+;if(!(s>='a'&&s<='z')&&!(s>='A'&&s<='Z')&&(s!=' ')&&!(s>='0'&a
8、mp;&s<='9')d+;printf("其中字母有%d个n",a);printf("其中空格有%d个n",b);printf("其中数字有%d个n",c);printf("其中其他字符有%d个n",d);return 0;(2)运行结果: (3)运行结果分析:运行成功6、编程求1000以内所有的水仙花数。谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例,153是水仙花数,因为153=13+53+33 。解答:(1)源代码:#include<stdio.h>
9、int main()int a,b,c,d,i;printf("1000以内的水仙花数为");for(i=100;i<1000;i+)a=i%10;b=i/10%10;c=i/100;d=a*a*a+b*b*b+c*c*c;if(i=d)printf("%d ",i);printf("n");return 0;(2)运行结果: (3)运行结果分析:运行成功 7、编程:素数是除了1和其本身以外,不能被其他自然数整除的自然数。从键盘输入一个数,判断该数是不是素数?解答:(1)源代码:#include<stdio.h>in
10、t main()int a,b,x,i;x=1;printf("请输入一个自然数");scanf("%d",&a);if(a=1)printf("该数不是素数n");elsefor(i=2;i<a;i+)b=a%i;if(b=0)x=0;if(x=0)printf("该数不是素数n");if(x=1)printf("该数是素数n");return 0;(2)运行结果: (3)运行结果分析:运行成功8、编写程序输入某班C语言考试的考试分数,该班人数未知,用-1作为结束标志,若输入大于
11、100分,则提示重新输入,然后计算全班的最高分、最低分与平均分。解答:(1) 源代码:include<stdio.h>int main()int a,b,i=0,max=0,min=100,sum=0;printf("请输入班上各个学生C语言的考试分数n");while(1)scanf("%d",&a);if(a>100)printf("分数格式不对,请重新输入n");continue;if(a=-1)break;sum=sum+a;i+;if(max>=a)max=max;elsemax=a;if(m
12、in<=a)min=min;elsemin=a;b=sum/i;printf("全班的最高分为%dn",max);printf("全班的最低分为%dn",min);printf("全班的平均分为%dn",b);return 0;(2)运行结果: (3)运行结果分析:运行成功9、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?解答:(1)源代码:#include<stdio.h>int main()int x=1,y=1,i=1;for
13、(i;i<=20;i+)printf("%d %d ",x,y);if(i%4=0)printf("n");x=x+y;y=x+y;return 0;(2)运行结果: (3)运行结果分析:运行成功10、公鸡五元一只,母鸡三元一只,小鸡一元三只,一百元要买一百只鸡,且须包含公鸡、母鸡和小鸡。请编写程序,输出所有可能的方案。解答:(1)源代码:#include<stdio.h>int main()int x,y,z;for(x=1;x<=100;x+)for(y=1;y<=100;y+)for(z=1;z<=100;z+)
14、if(15*x+9*y+z=300)&&(x+y+z=100)printf("公鸡有%d,母鸡有%d,小鸡有%dn",x,y,z);return 0;(2)运行结果: (3)运行结果分析:运行成功11、编写程序,打印以下图形:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *解答:(1)源代码:#include<stdio.h>int main()int i,j;for(i=1;i<6;i+)for(j=1;j<i;j+)printf(" ");printf("* * * * * * *n");return 0;(2)运行结果: (3)运行结果分析:运行成功 12、编写程序,打印以下图形: * * * * * * * * * * * * * * * * * * * *解答:(1)源代码:#include<stdio.h>int main() int i,j,k; for (i=0;i<=3;i+) for (j=0;j<=3-i;j+) printf(" "); for (k=0;k<=2*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家铁路局规划与标准研究院公开招聘应届毕业生6人高频重点提升(共500题)附带答案详解
- 国家粮食和物资储备局内蒙古局事业单位度公开招考9名工作人员高频重点提升(共500题)附带答案详解
- 国家电网公司华东分部招聘2025年高校毕业生2名历年高频重点提升(共500题)附带答案详解
- 四川事业单位联考考试招考高频重点提升(共500题)附带答案详解
- 二零二五年度祠堂修缮与承包一体化管理服务合同2篇
- 南昌航空大学科技学院招聘2名系统维护员高频重点提升(共500题)附带答案详解
- 南宁市兴宁区劳动保障管理中心招考4名公益性岗位工作人员高频重点提升(共500题)附带答案详解
- 北京邮电大学信息与通信工程学院招考聘用(人才派遣)高频重点提升(共500题)附带答案详解
- 北京市门头沟区司法局面向社会公开招考17名专职人民调解员高频重点提升(共500题)附带答案详解
- 北京市丰台区部分事业单位2025年招考高频重点提升(共500题)附带答案详解
- 2023-2024学年安徽省安庆市高一上学期期末联考生物试题(解析版)
- 菏泽2024年山东菏泽市中心血站招聘15人笔试历年典型考点(频考版试卷)附带答案详解版
- 促醒中医治疗
- 广东省广州市海珠区2023-2024学年九年级上学期期末物理试题(含答案)
- 精-品解析:广东省深圳市罗湖区2023-2024学年高一上学期期末考试化学试题(解析版)
- 记账实操-基金管理公司的会计处理分录示例
- 危险化学品目录2023
- 授课课件国家卫健委发布《猴痘诊疗指南(2022年版)》全文内容PPT通用课件
- dinen10278翻译
- 朱东润《中国历代文学作品选》目录简体字版
- 银行授信前须问企业的100个问题
评论
0/150
提交评论