C语言实验四

2020-04-13 22:47

实 验 报 告

姓名 李彤 班级 0615122 学号 061612126 实验日期 2014年11月 课程名称 C语言程序设计 指导教师 赵毅 成绩

实验四 循环结构程序设计

061512202杨海兴

一、实验目的

1、学会分析循环程序的结构和执行流程。、

2、掌握for、while、和do....while语句的格式和功能。

3、数连续使用for、while和do.........while语句实现循环程序设计。

二、实验原理

1、for(表达式1;表达式2;表达式3;)

功能:首先执行表达式1判断表达式2的值,若表达式2为“真”,则执行循环语句,并执行表达式3,然后重复计算表达式2,直到表达式2的值为“假”时结束循环。

注意:若“循环体语句”由两条或两条以上的语句组成,需要用复合语句{}的形式。

三、实验内容

4.1.1

输入一批正整数(以零或负数为结束标志)求其中的奇数和。 程序如下:

#include #include int main(void) { int data,sum; sum=0; printf(\输入一批正整数(以零或负数为结束标志): \ scanf(\ while(data>0) { if(data%2==1) sum=sum+data; scanf(\ } printf(\奇数和是%d.\\n\ return 0; }

4.1.2

输入两个整数a和n,求a+aa+aaa+??(n个a)之和。例如输入2和3,输出246(2+22+222) 提示:可采用递推的方法计算当前项item=item*10+a。 程序如下:

实 验 报 告

姓名 李彤 班级 0615122 学号 061612126 实验日期 2014年11月 课程名称 C语言程序设计 指导教师 赵毅 成绩

#include int main(void) { int a,n,item,i,sum; i=1; sum=0; item=0; printf(\请输入两个整数a和n: \ scanf(\while(i<=n) {

item=item*10+a; sum=sum+item; i=i++; }

printf(\结果为%d\\n\return 0; }

4.1.3

编写程序:计算2/1+3/2+5/3+8/5??的 近似值。要求计算前n项之和,保留2位小数(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子) 程序如下:

#include int main(void) { float n,i,sum,a,b,item; printf(\请输入n的值:\ scanf(\ sum=0; i=1; a=2; b=1; item=0; while(i<=n) { sum=sum+a/b; item=a; a=a+b; b=item; i=i++; }

实 验 报 告

姓名 李彤 班级 0615122 学号 061612126 实验日期 2014年11月 课程名称 C语言程序设计 指导教师 赵毅 成绩 printf(\结果为%.2f\\n\return 0; }

4.1.4

编写一个程序,找出被2,3,5整除时余数均为1的最小的10个自然数。 程序如下: #include

int main(void) {

int x,i; i=0; x=1;

while(i<10) { if(x%2==1 && x%3==1 && x%5==1) { printf(\ i++; } x++; }

return 0; } 4.1.5

输入一个正整数,求它的位数以及各位数字之和,例如123的位数是3,各位数字之和是6. 程序如下:

#include int main(void) { int number,digit,i,sum; i=0; sum=0; printf(\输入一个正整数:\ scanf(\ while(number!=0) { digit=number; number=number/10; sum=sum+digit; i=i++; } printf(\

实 验 报 告

姓名 李彤 班级 0615122 学号 061612126 实验日期 2014年11月 课程名称 C语言程序设计 指导教师 赵毅 成绩 }

printf(\该整数的位数是%d\\n,各位数字之和是%d\\n\return 0;

4.1.6

猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子? 程序如下:

#include int main(void) { int i,a; a=1; for(i=1;i<=9;i++) { a=(a+1)*2; } printf(\一共摘了%d\\n个桃子\ return 0; }

4.2.1

求100以内的全部素数,每行输出10个。素数就是只能被1和它本身整除,1不是素数,2是素数。

程序如下:

#include int main(void) { int i,m=0,n; for(n=2;n<=99;n++) { for(i=2;i<=n-1;i++) if(n%i==0) break; if(i>=n) { printf(\ m++; if(m==0) printf(\ } } return 0; }

实 验 报 告

姓名 李彤 班级 0615122 学号 061612126 实验日期 2014年11月 课程名称 C语言程序设计 指导教师 赵毅 成绩

4.2.2有一个四位数,千位上的数字和百位上的数字都被擦掉了,已知十位上的数字是1,个位上的数字是2,又知道这个数如果减去7就能被7整除,减去8就能被8整除,减去9就能被9整除。编写一个程序求这个四位数。提示:利用穷举法来解决该问题。 程序如下: #include

void main() { int x,m,n; for(x=1000;x<=9999;x++) { m=x; n=x/10; if(m==2 && n==1 && (x-7)%7==0 && (x-8)%8==0 && (x-9)%9==0) printf(\ } }

4.2.3

取1元、2元和5元的纸币共10张,现在要支付15元。编写程序输出所有的付法。针对每一种付法,输出各种面额的纸币数量。要求将1元、2元和5元设置在最合理的取值范围内。 程序如下:

#include int main() { int m, n, k; for (m=0; m<=10; m++) { for (n=0; n<=10; n++) { for (k=0; k<=10; k++) { if (m+2*n+5*k==15) { printf(\元:%d张\\t2元:%d张\\t5元:%d\\n\ } } } } return 0; }

4.2.4


C语言实验四.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初一相交线与平行线所有知识点总结和常考题提高难题压轴题练习(

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: