循环实验2解答.docx

上传人:b****5 文档编号:5036401 上传时间:2022-12-12 格式:DOCX 页数:12 大小:112.96KB
下载 相关 举报
循环实验2解答.docx_第1页
第1页 / 共12页
循环实验2解答.docx_第2页
第2页 / 共12页
循环实验2解答.docx_第3页
第3页 / 共12页
循环实验2解答.docx_第4页
第4页 / 共12页
循环实验2解答.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

循环实验2解答.docx

《循环实验2解答.docx》由会员分享,可在线阅读,更多相关《循环实验2解答.docx(12页珍藏版)》请在冰豆网上搜索。

循环实验2解答.docx

循环实验2解答

交作业的注意事项:

1、文件的命名方式:

团队名称.doc

2、学生名称:

团队名称

循环结构程序设计

一、实验目的

1、熟练掌握for语句、while语句、do-while语句嵌套;

2、掌握循环语句的跳转方式continue、break

二、实验内容

根据以下题目要求编程并上机调试运行。

1、求5555的约数中最大的三位数的多少?

【break使用】

#include

voidmain()

{

intnum=5555;

inti;//循环控制变量初值999?

终值100?

i=999;

while(i>=100)

{

if(num%i==0)

{

printf("%d\n",i);//?

?

打印哪个数?

break;//找到第一个能被整除的数,结束循环

}

i--;

}

}

2、在软件设计大赛中有6个评委为选手打分,分数为1-100。

选手的最后得分为:

去掉一个最高分和一个最低分其余4个数的平均值,请编程实现。

注:

该问题找到的最大值和最小值,对这两个数不实现求和运算。

#include

voidmain()

{

//控制只能输入6个数

inti=1;

floatgrade=0;//接收评委的给分

floatsum=0;//计算总分

floatmin=100;//保存最小值

floatmax=0;//保存最大值

while(i<=6)

{

printf("请输入第%d个评委的给分:

",i);

scanf("%f",&grade);

sum=sum+grade;

if(min>grade)//查找比min小的数

{

min=grade;

}

if(max

{

max=grade;

}

i++;

}

printf("该选手的得分为%f\n",(sum-min-max)/4);

}

3、搬砖问题:

男人一次搬4块砖,女人一次3块砖,小孩2个人合抬一块砖

问:

现有36块砖,36个人,如何分配人员可以一次搬完.

//方法一

#include

voidmain()

{

intman,women,children;

for(man=0;man<=9;man++)

for(women=0;women<=12;women++)

for(children=0;children<=36;children++)

if(man*4+women*3+children/2==36&&children%2==0&&man+women+children==36)

printf("man=%d,women=%d,children=%d\n",man,women,children);

}

//方法二

#include

voidmain()

{

intman,women,children;

man=0;

while(man<=9)

{

women=0;

while(women<=12)

{

children=36-man-women;

if(man*4+women*3+children/2==36&&children%2==0)

{

printf("man=%d,women=%d,children=%d\n",man,women,children);

}

women++;

}

man++;

}

}

4、设定如下实验题目:

打印下面的图案

*

**

***

****

*****

图形1

#include

voidmain()

{

introw,count;

row=1;

while(row<=5)//总共5行

{

//内层循环用来控制每行的个数

count=1;

while(count<=row)

{

printf("*");

count++;

}

printf("\n");//打印一行后换行

row++;

}

}

*****

****

***

**

*

图形2

#include

voidmain()

{

introw,count;

row=1;

while(row<=5)//总共5行

{

//内层循环用来控制每行的个数

count=1;

while(count<=(6-row))

{

printf("*");

count++;

}

printf("\n");//打印一行后换行

row++;

}

}

*

***

*****

*******

*********

图形3

#include

voidmain()

{

introw,count;

row=1;

while(row<=5)//总共5行

{

//内层循环用来控制每行的个数

count=1;

while(count<=(row*2-1))

{

printf("*");

count++;

}

printf("\n");//打印一行后换行

row++;

}

}

//i=11i*2-1

//i=23i*2-1

//35

//47

//59

5、查找1000以内所有的完全数并打印:

完全数指该数的因子(除本身)和等于该数本身,如6=1+2+3.其中1,2,3都是6的因子.

#include

voidmain()

{

//从键盘输入一个整型数据

intnumber=1;

intsum=0;//sum用来求所有的因子和

inti=1;//i循环控制变量

while(number<=1000)

{

sum=0;//清空因子和

for(i=1;i

{

if(number%i==0)//找因子,若能被整除,则需要加到sum中

{

sum=sum+i;

}

}

//通过if语句判断sum与number是否相等

if(sum==number)

{

printf("%d是完全数.\n",number);

}

number++;

}

}

//number=1sum=0

//number=2i=1i

//i=2i

//number=3i=1i

6、查找1000以内所有的素数并打印,要求10个一行

#include

voidmain()

{

intnum=2;

inti;

intcount=0;//计数器

intflag=1;//标志num是否为素数

while(num<1000)

{

flag=1;//标志num是否为素数

for(i=2;i

{

if(num%i==0)

{

//能被其中一个数整除,说明不是素数

flag=0;

break;

}

}

if(flag==1)

{

count++;

printf("%4d",num);

if(count%10==0)

{

printf("\n");

}

}

num++;

}

}

三、实验报告要求

实验结束后,应整理实验报告,其内容应包括:

1、实验题目

2、设计思路

3、写出程序源代码

4、写出程序运行结果

5、对实验结果进行分析、总结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1