实 验 报 告
姓名 李彤 班级 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
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
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
实 验 报 告
姓名 李彤 班级 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
实 验 报 告
姓名 李彤 班级 0615122 学号 061612126 实验日期 2014年11月 课程名称 C语言程序设计 指导教师 赵毅 成绩 }
printf(\该整数的位数是%d\\n,各位数字之和是%d\\n\return 0;
4.1.6
猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子? 程序如下:
#include
4.2.1
求100以内的全部素数,每行输出10个。素数就是只能被1和它本身整除,1不是素数,2是素数。
程序如下:
#include
实 验 报 告
姓名 李彤 班级 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
4.2.4