C语言实验报告5——循环结构程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验报告
学号 : 日期 : 2014-06-22
系别计算机
科学与
技术
专业
计算机科学
与技术(师)
班级姓名
课程名称C语言程序设计
课程
类型
专业课
学时
数
2
实验
名称
循环结构程序设计
实验目的
掌握C语言三种循环结构语句格式;
理解C语言三种循环结构控制语言的执行过程;
学习应用C语言三种循环结构控制语句结构构造程序;
积累环境下进行程序调试经验;
实验要求:
实验后写实验报告。
实验内容
1、输入n个数,从中找出最大数。(n值从键盘输入);
2、补充教材138页6.2题1_3三个程序,并上机运行,结合程序功能分
析运行结果;
3、采用C语言的三种循环控制语句设计实现教材6.5题;
4、完成教材42页实验题的“国王承诺问题”。
1、设计的源程序:
/*计算n个正整数中最大值*/
#include "stdio.h"
main()
{
int a,i,n,max;
i=2;max=0;
printf("Input two numbers:");
scanf("%d%d",&n,&a); /*从键盘输入n个正整数*/
while(i<=n)
{
scanf("%d",&a);
max=a>max? a:max;
i++;
}
printf("max=%d\n",max);
}
运行结果:当输入五个正整数时,程序最后输出了这五个数中的最大值教材138页6.2题:
(1)计算奇数求和,补充后第一个源程序为:
#include "stdio.h"
main()
{
int i,sum = 0;
for (i = 1;i<=101;i += 2)
{
sum += i;
}
printf("sum = %d\n",sum);
}
运行结果:
分析:当输入50时,就得到了前50个奇数的和,与理论符合,即为2601。
(2)计算1*2*3+3*4*5+...+99*100*101的值
补充后的第二个源程序为:
#include "stdio.h"
main()
{
long i;
long term,sum = 0;
for (i = 1;i <= 99;i = i + 2)
{
term = i * (i + 1) * (i + 2);
sum = sum + term;
}
printf("sum = % ld",sum);
}
运行结果:
(3)计算a+aa+aaa+...+aa...a(n个a)的值,n和a的值由键盘输入。
补充后的源程序:
#include "stdio.h"
main()
{
long term = 0,sum = 0;
int a,i,n;
printf("Input a,n:");
scanf("%d,%d",&a,&n);
for (i = 1;i <= n;i ++)
term = i * a;
sum = sum + term;
}
printf("sum = %ld\n",sum);
}
运行结果:
分析:当输入的a值是100、n值是54的时候,最终计算的结果为148500,与自己用手计算的结果完全一样。说明补充后的程序就是符合题目要求的源程序。
教材140页6.5题:
第一种方法:
用while语句编程实现
/*摄氏温度转化到华氏温度*/
#include "stdio.h"
{
int C ; /*摄氏温度*/
long F; /*华氏温度*/
printf("please input the sheshi temperature:");
scanf("%d",&C);
F = 1.8 * C + 32; /*摄氏温度转化为华氏温度*/
while (C <= 300)
{
C += 10;
}
printf("F = %ld\n",F);
}
在VisualC++6.0下编译运行:
运行结果:
分析结果:当输入的摄氏温度为40度时,对应得到的华氏温度为104;当输入的华氏温度为300度时,对应转化为572华氏温度。
第二种方法:
用do_while语句编程实现
/*摄氏温度转化到华氏温度*/
#include "stdio.h"
main()
{
int C ; /*摄氏温度*/
double F; /*华氏温度*/
printf("please input the sheshi temperature:");
scanf("%d",&C);
F = 1.8 * C + 32; /*摄氏温度转化为华氏温度*/
do{
C += 10;
}while(C <= 300);
printf("F = %lf\n",F);
}