C语言实验三、循环结构程序的设计解答

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

{

相关文档
最新文档