发布网友 发布时间:2024-10-10 22:56
共1个回答
热心网友 时间:2024-10-11 00:54
对于给定的自然数n,求使1+2+3+4+5+...i≥n成立的最小i值。
运行结果:
do-while语句是C++语言中用于解决至少执行一次重复操作的循环语句。
定义格式:
格式1:
do
语句;
while(条件表达式);
格式2:
do
{
语句1;
语句2;
......
}
while(条件表达式);
功能:
重复执行循环体,直到条件表达式的值为0。与while循环相比,do-while循环是先执行循环体,后判断条件表达式的当型循环。
do-while循环语句的执行过程再和while执行过程做个对比:
示例4.17:
比较下面程序,并写出它们的运行结果:
运行结果:
注意哦:
do-while语句是在执行循环体之后检查条件表达式的值,所以至少要执行一次循环体。
而,while语句是在进入循环体之前,就检查条件表达式的值,于是可能造成while语句的循环体依次也不被执行。
再看一遍流程图,琢磨下上面这段话,更清晰~
思考:如果希望使用do-while语句和while语句解决相同的循环问题,你能说出一般规律么?
示例4.18:
比较下面程序,并写出它们的运行结果:
猜测:12345
运行结果:
猜测:23456
运行结果:
注意哦:
在do-while语句的条件一样的情况下,循环体中语句的不同顺序,也将影响执行结果。
上面4.18-1和2的区别是一个先输出再自增,一个先自增再输出
示例4.19:
写出下列程序的运行结果:
猜测:应该一直输出1吧。。。因为i=1,一直是≤5的,就是死循环了。
运行结果:
注意哦:
为了使重复能终止,循环体中一定要有影响条件表达式值的操作,否则该循环是一个死循环。
应用:
示例4.20:
运行结果:
注意哦:
srand()是随机种子函数,rand()是产生随机数函数。
实验:
修改do-while语句的条件,检验程序的正确性:
运行结果:
修改这个条件,不管做对做错都直接退出循环,只会形成一次结果。
!n==x+y 和 n!=x+y 区别很大
前者 : 非的优先级仅次于括号,是第二高的,在这里除非n=0,否则!n就是假的
后者是判断n是否等于x+y
示例4.21:
运行结果:
示例4.22:
十进制转二进制,即一个数字或商非0时,反复除以2的操作。
运行结果:
实验:
在程序上做哪些修改,可以输出一个十进制整数对应的二进制数形式?
作业:1、读程序写结果:
分别输入:4 0
猜测结果:
001 0
运行结果:
分别输入:100 79 2
猜测结果:
50 0 0
运行结果:
哦哦,79 确实是1,想错了
猜测结果:
6
运行结果:
做错了,一起来看看每次循环都是怎样的吧:
2.
运行结果:
啊,这道题我审题审错了,是问经过了多少路程,不是弹了多少次。。。
不对,数据类型不能是整数,得改下:
3.
运行结果:
错了错了,负数的话只有一个负号在前面,修改下:
4.
输入样例:
7
输出样例:
1/4
这题感觉就是数学题啊。。。
先找到第n项所处的斜线,也就是第几斜线。
while (sum
接下来,注意观察,以奇数行为例:奇数行分母递增,分子递减(偶数行反之),那么就是要找到第n项所在这一行的分子分母就OK了。
sum把第i行都加了,sum-n就是i行末至第n项中间有几个数,分子在此基础上+1,也就是sum-n+1,分母分子之和为i+1,所以分母为i+1-(sum-n+1)--->i-(sum-n);
运行结果:
---------
好久没写了,看大家默默收藏,还是被激励到了,这周开始每天再写一点点吧~
也欢迎讨论呀~
热心网友 时间:2024-10-11 00:52
对于给定的自然数n,求使1+2+3+4+5+...i≥n成立的最小i值。
运行结果:
do-while语句是C++语言中用于解决至少执行一次重复操作的循环语句。
定义格式:
格式1:
do
语句;
while(条件表达式);
格式2:
do
{
语句1;
语句2;
......
}
while(条件表达式);
功能:
重复执行循环体,直到条件表达式的值为0。与while循环相比,do-while循环是先执行循环体,后判断条件表达式的当型循环。
do-while循环语句的执行过程再和while执行过程做个对比:
示例4.17:
比较下面程序,并写出它们的运行结果:
运行结果:
注意哦:
do-while语句是在执行循环体之后检查条件表达式的值,所以至少要执行一次循环体。
而,while语句是在进入循环体之前,就检查条件表达式的值,于是可能造成while语句的循环体依次也不被执行。
再看一遍流程图,琢磨下上面这段话,更清晰~
思考:如果希望使用do-while语句和while语句解决相同的循环问题,你能说出一般规律么?
示例4.18:
比较下面程序,并写出它们的运行结果:
猜测:12345
运行结果:
猜测:23456
运行结果:
注意哦:
在do-while语句的条件一样的情况下,循环体中语句的不同顺序,也将影响执行结果。
上面4.18-1和2的区别是一个先输出再自增,一个先自增再输出
示例4.19:
写出下列程序的运行结果:
猜测:应该一直输出1吧。。。因为i=1,一直是≤5的,就是死循环了。
运行结果:
注意哦:
为了使重复能终止,循环体中一定要有影响条件表达式值的操作,否则该循环是一个死循环。
应用:
示例4.20:
运行结果:
注意哦:
srand()是随机种子函数,rand()是产生随机数函数。
实验:
修改do-while语句的条件,检验程序的正确性:
运行结果:
修改这个条件,不管做对做错都直接退出循环,只会形成一次结果。
!n==x+y 和 n!=x+y 区别很大
前者 : 非的优先级仅次于括号,是第二高的,在这里除非n=0,否则!n就是假的
后者是判断n是否等于x+y
示例4.21:
运行结果:
示例4.22:
十进制转二进制,即一个数字或商非0时,反复除以2的操作。
运行结果:
实验:
在程序上做哪些修改,可以输出一个十进制整数对应的二进制数形式?
作业:1、读程序写结果:
分别输入:4 0
猜测结果:
001 0
运行结果:
分别输入:100 79 2
猜测结果:
50 0 0
运行结果:
哦哦,79 确实是1,想错了
猜测结果:
6
运行结果:
做错了,一起来看看每次循环都是怎样的吧:
2.
运行结果:
啊,这道题我审题审错了,是问经过了多少路程,不是弹了多少次。。。
不对,数据类型不能是整数,得改下:
3.
运行结果:
错了错了,负数的话只有一个负号在前面,修改下:
4.
输入样例:
7
输出样例:
1/4
这题感觉就是数学题啊。。。
先找到第n项所处的斜线,也就是第几斜线。
while (sum
接下来,注意观察,以奇数行为例:奇数行分母递增,分子递减(偶数行反之),那么就是要找到第n项所在这一行的分子分母就OK了。
sum把第i行都加了,sum-n就是i行末至第n项中间有几个数,分子在此基础上+1,也就是sum-n+1,分母分子之和为i+1,所以分母为i+1-(sum-n+1)--->i-(sum-n);
运行结果:
---------
好久没写了,看大家默默收藏,还是被激励到了,这周开始每天再写一点点吧~
也欢迎讨论呀~