循环结构练习

发布 2021-05-29 14:16:28 阅读 6735

1、百鸡问题:用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只?

#include <>

#include <>

int main()

int cocks,hens,chicken;

for(cocks=1;cocks<=20;cocks++)

for(hens=1;hens<=34;hens++)

for(chicken=3;chicken<=100;chicken+=3)

if (cocks+hens+chicken==100 &&

cocks*5+hens*3+chicken/3==100)

printf("cocks:%d,hens:%d,chicken:%d",cocks,hens,chicken);

return 0

2、/*题目描述 : a 、 b 、 c 、 d 、 e 五人夜间合伙捕鱼,凌晨时都疲倦不堪,各自在河边的树丛中找地方睡着了。

日上三竿, a 第一个醒来,他将鱼分作五份,把多余的。

一条扔回河中,拿自己的一份回家去了。 b 第二个醒来,也将鱼分作五份,扔掉多余的一条,拿走自己的一份,接着 c 、 d 、 e 依次醒来,也都按同样的办法分鱼,问五人至少合伙捕了多少条鱼?试编程序算出。

分析过程:设原先鱼的总数是x条

设a、b、c、d、e拿之前剩下的鱼数量分别为a、b、c、d、e:

则 a=x;

b=(a-1)*4/5;

c=(b-1)*4/5;

d=(c-1)*4/5;

e=(d-1)*4/5;

e可以是。。以5递增)

若e已知,则由e可依次推出d、c、b、a。

此外,d、c、b、a要满足以下约束:

d-1) mod 5==0

c-1) mod 5==0

b-1) mod 5==0

a-1) mod 5==0

#include<>

int main()

int fish;

int newfish;//迭代变量,记录鱼的数量。

int finish,isok; /结束标志

int i;//for循环控制变量

finish=0;

for (fish=6;finish==0;fish+=5)//对e进行递增,e满足(e-1)mod 5==0

printf("至少是%d条鱼",newfish);

return 0;

3、第6章习题6.9小球**。

#include<>

#define times 10

main()

int times; /记录是第几次弹起

double height; /记录小球弹起时的高度

height=10000.0; /height的单位是cm*/

times=1;/*第一次循环求第1次弹起高度 */

while(times<=times)

printf("第%d次小球弹起的高度是%f厘米",times,height);

return 0;

4、//判断回文数:回文数是指一个数的逆序和自身相等的数,如222,15251等。

#include<>

#include<>

main()

int num;//存放输入的整数

int num1; /循环中处理的数,每循环一次,右边少一位,假设num为1234,则num1初始值为1234,然后是123,然后是12...

int reverse;/*是用分解出来的数字组成的新数*/

int m;/*m:存放每一个分解出来的数字;*/

printf("请输入一个小于8位的正整数:")读取要判断的整数

scanf("%d",&num);

/*从右到左依次取出各个数字组装成一个新的整数保持到reverse中*/

num1=num;

reverse=0;

while(num1!=0)

if (num==reverse)

printf("%d 是回文数",num);

elseprintf("%d 不是回文数",num);

system("pause");

return 0;

5、第6章习题6.10猴子吃桃。

#include<>

main()

int day;//表示当前求解的是第几天吃前的桃子数。

int peach; /示某一天的桃子数。

day=9; /第一次循环求第9天吃前的桃子数

peach=1; /第10天吃前的桃子数是1

printf("第10天桃子数是:1");

while(day>=1)

printf("第一天桃子数是:%d",peach);

6、//从高位分解整数的各个位。

#include<>

main()

int num;//输入的数

int length;

int n;//代表10的lenth-1次方,

int k;//循环控制变量。

int m;//代表截取的高位。

printf("输入整数:")

scanf("%d",&num);

length=0;

n=num;

if (num==0) /若输入的是0,则其长度位1

length=1;

else //从最低位开始,依次从n中砍掉各位。

while (n>0)

printf("%d的长度是%d位",num,length);

n=1;for (k=1;k while (n>0)

7、投骰子。投骰子若干次,统计每个面出现的次数。次数从键盘输入。

#include<>

#include<>

#include<>

int main()

int face,roll,frequency1=0,frequency2=0,frequency3=0;

int frequency4=0,frequency5=0,frequency6=0;

int n;

scanf("%d",&n);

srand(time(null));

*use the time of system to seed the rand function,any question please ask

teacher liuzhenhua */

for (roll=1;roll<=n;roll++)

printf("%s%13s","face","frequency");

printf("1%13d",frequency1);

printf("2%13d",frequency2);

printf("3%13d",frequency3);

printf("4%13d",frequency4);

printf("5%13d",frequency5);

printf("6%13d",frequency6);

system("pause");

return 0;

8、第6章习题6.2 字符统计。

统计字符。问题描述:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

输入与输出要求:输入一个字符序列,字符序列长度小于100,以换行符“”结束。输出各类字符的个数,依次是英文字符,空格,数字,其他字符(以空格分开),占一行。

循环结构练习

include void main int i 0行a while i 1行 b cout 请回答以下问题 while循环的条件是 i 1循环体是 cout 若a行语句改为 int i 2 则c行执行 0 次。d行语句的执行和b行的条件成立与否不相关 相关 不相关 d行共执行 1 次。本程序的输出结...

循环结构练习

1 百鸡问题 用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只?include include int main int cocks,hens,chicken for cocks 1 cocks 20 cocks for hens 1 hens 34 hens fo...

循环结构练习

1 在屏幕上显示一张如下所示的时间表 time 1 morning 2 afternoon 3 night please enter your choice 操作人员根据提示进行选择,程序根据输入的时间序号显示相应的问候信息,选择1时显示 good morning 选择2时显示 good after...