2循环控制语句_练习题

循环控制语句_练习题:

练习建议:

每个题目限时完成,最好不超过10分钟,能够一次性编写并运行出来。

【达人、专业】

1.求1-100的所有数的和   (for循环基本概念)
2.输出1-100内所有的奇数/偶数 (循环+条件语句)
3.for循环打印金字塔 (双重循环)
4.for循环打印99乘法表 (双重循环)

5.完成猜数字游戏: (break练习)

  • 系统随机生成一个1~100的数字;
  • 用户共有5次机会猜;
  • 如果用户猜测数字大于系统给出的数字,打印"大了"
  • 如果用户猜测数字小于系统给出的数字,打印"小了"
  • 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖",并退出循环

提示:

随机生成一个整数的代码为:

import random #引入随机库

num = random.randint(0,2)   #随机生成0、1、2中的一个数字,赋值给变量num

5.请结合自身理解和背景,出一道循环嵌套知识题目,并自行解答。

【专业】,见最下方的【扩展练习】部分序号

(1)-(2):二选一

(3)- (4):二选一

(5)- (7):三选一


【基本概念练习】
使用while/for循环输出 1 2 3 4 5 6 8 9 10
求1-100的所有数的和

【循环和条件语句】
输出1-100内所有的奇数/偶数
用户输入一个整形数,求该数的阶乘
求1-2+3-4+5 ……99的所有数的和

【嵌套循环练习】
for循环打印99乘法表,形式如下:
1 * 1 = 1
2 1 = 2  2 2 = 4
3 1 = 3  3 2 = 6  3 * 3 = 9
4 1 = 4  4 2 = 8  4 3 = 12  4 4 = 16
5 1 = 5  5 2 = 10  5 3 = 15  5 4 = 20  5 * 5 = 25
6 1 = 6  6 2 = 12  6 3 = 18  6 4 = 24  6 5 = 30  6 6 = 36
7 1 = 7  7 2 = 14  7 3 = 21  7 4 = 28  7 5 = 35  7 6 = 42  7 * 7 = 49
8 1 = 8  8 2 = 16  8 3 = 24  8 4 = 32  8 5 = 40  8 6 = 48  8 7 = 56  8 8 = 64
9 1 = 9  9 2 = 18  9 3 = 27  9 4 = 36  9 5 = 45  9 6 = 54  9 7 = 63  9 8 = 72  9 * 9 = 81

for循环打印金字塔:如下

***
*****
*******
*********


【扩展练习】

(1)猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

(2)一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

(3)有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

(4)一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。

(5)输入两个数值:
求两个数的最大公约数和最小公倍数
最小公倍数=(num1 * num2) / 最大公约数

(6)将一个正整数分解质因数。例如:输入90,打印出90=233*5。

(7)打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

【综合练习】

(8)用户登录需求:

  • 输入用户名和密码;
  • 判断用户名和密码是否正确(name=‘root’,passwd=‘123456’),密码输入错误三次则会报错
  • 登录仅有三次机会,超过3次会报错

(10)【递归练习】
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
do while 循环是一种先执行循环体,然后再判断条件是否满足的循环语句。下面是一个有关 do while 循环练习题。 编写一个程序,要求用户不断输入学生的成绩,直到输入的成绩为负数为止。然后计算这些成绩的平均值,并输出结果。要求使用 do while 循环实现。 首先,我们需要定义一个变量 sum 用于累加输入的成绩,定义一个变量 count 用于记录输入的成绩个数。然后,使用 do while 循环提示用户输入成绩,每次输入后将成绩累加到 sum 中,同时将 count 加一。当输入的成绩为负数时,退出循环。 接着,我们需要判断 count 是否为0,若为0,则说明用户未输入有效的成绩,直接输出 "无有效成绩"。否则,计算平均值,将 sum 除以 count,并输出结果。 下面是该程序的示例代码: ```c #include <stdio.h> int main() { int score, sum = 0, count = 0; printf("请输入学生的成绩(负数结束):"); do { scanf("%d", &score); if (score >= 0) { sum += score; count++; } } while (score >= 0); if (count == 0) { printf("无有效成绩\n"); } else { double average = (double) sum / count; printf("平均成绩为:%.2lf\n", average); } return 0; } ``` 当用户输入的成绩为负数时,循环结束,输出成绩的平均值。如果用户一开始就输入负数,则直接输出 "无有效成绩"。通过这个练习题,我们可以加深对 do while 循环的理解,并学习如何在循环中累加、计数以及计算平均值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值