C语言实验三、循环结构程序的设计解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 循环结构程序设计
一、实验目的
1.熟练掌握三种循环语句的应用。
2. 熟练掌握循环结构的嵌套。
3. 掌握break 和continue 语句的使用。
4. 练习调试与修改程序。
5. 掌握一组数据求和、求平均值、求最大值最小值的计算方法。
6.掌握循环次数已知、未知的处理方法(精度的控制、结束标志的使用等)
7.掌握简单图形的打印输出处理。
二、实验内容
1.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:计算并输出1~10的平方值。
[输入]无
[输出]如下形式
1 squared is 1
2 squared is 4
3 squared is 9
4 squared is 16
5 squared is 25
6 squared is 36
7 squared is 49
8 squared is 64
9 squared is 81
10 squared is 100
[提示]使用三种循环语句均可。
#include "stdio.h"
void main( )
{
int i;
for(i=1;i<=10;i++)
printf("\n %d squared is %d\n",i,i*i);
printf("\n");
}
2.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:计算并输出
∑==100
1
2n n x 。 [输入]键盘输入x 值
[输出]计算结果
[提示]使用三种循环语句均可。
#include "stdio.h"
void main()
{
int n,x,sum=0;
printf("请输入x:");
scanf("%d",&x);
for(n=1;n<=100;n++)
sum=sum+x*x;
printf("sum=%d\n",sum); }
如果程序功能为:计算并输出 n x
1
2
,要求从键盘输入n、x值,程序应如何修改?
3.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:求1-100之间的奇数之和。
[输入]无
[输出]计算结果
[提示]使用三种循环语句均可。
#include "stdio.h"
void main()
{
int i,sum=0;
for(i=1;i<=100;i=i+2)
sum=sum+i;
printf("sum=%d\n",sum);
}
4.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:输出100以内能被7整除的数。
[输入]无
[输出]判断结果
[提示]使用三种循环语句均可。
#include "stdio.h"
void main()
{
int i,sum=0;
for(i=1;i<=100;i++)
if(i%7==0) printf("%d\t",i);
}
5.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:计算并输出一年12个月的总降雨量和平均降雨量。
[输入]12个月的降雨量
[输出]总降雨量和平均降雨量
[提示]使用for循环语句,和值、平均值变量采用双精度类型,和值初值设为零。#include "stdio.h"
void main()
{
int i;
double x,sum=0,ave;
for(i=1;i<=12;i++)
{
printf("请输入%d月的降雨量:",i);
scanf("%lf",&x);
sum=sum+x;
}
ave=sum/12;
printf("sum=%lf\tave=%lf\n",sum,ave);
}
6.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:在0°到90°之间每隔5°输出一行数据,打印一个表。每行中包括5个项目:角度数,以及它所对应的正弦、余弦、正切、余切函数值。
[输入]无
[输出]如下表格
[提示]使用for循环语句和if语句,注意0°、90°时的正切和余切的处理。#include "stdio.h"
#include "math.h"
#define PI 3.1415926
void main()
{
int i;
double ih;
printf("角度数正弦余弦正切余切\n");
for(i=0;i<=90;i=i+5)
{
ih=i*PI/180;
if(i==0)
printf("%d\t%lf\t%lf\t%lf\t%c\n",i,sin(ih),cos(ih),sin(ih)/cos(ih),'-');
else if(i==90)
printf("%d\t%lf\t%lf\t%c
\t%lf\n",i,sin(ih),cos(ih),'-',cos(ih)/sin(ih));
else
printf("%d\t%lf\t%lf\t%lf\t%lf\t\n",i,sin(ih),cos(ih),
sin(ih)/cos(ih),cos(ih)/sin(ih));
}
}
7.[目的]掌握循环次数已知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:输入10个字符,输出各个字符的ASCII 编码。
[输入] 10个字符
[输出]各个字符的ASCII编码
[提示]使用for循环语句,字符的输入不需要分隔符,可以连续输入10个字符。#include "stdio.h"
void main()
{
int i;
char ch;
for(i=1;i<=10;i++)
{
printf("请输入一个字符:");
scanf("%c",&ch);
printf("\n%c %d\n",ch,ch);
}
}
8.[目的]掌握循环次数未知的循环控制处理方法。
[题目内容]编写一个程序,其功能为:计算一批货物的总值,输入货物单价和数量。事先不知道需要统计的货物有多少种。
[输入]货物单价和数量
[输出]货物的总值
[提示]使用while循环语句或do…while语句,设计一个特殊值作为循环结束的标志,例如,单价值为零。
#include "stdio.h"
void main()
{
double price,num,sum=0;
printf("请输入货物单价和数量:");
scanf("%lf%lf",&price,&num);
while(price!=0)
{