-
计数器 while死循环 break
-
第 13 课时知识精炼
1. while 死循环
-
2. 计数器
while 死循环
while(1){
循环语句;
}
代码由两部分构成:
1、while(1)
2、循环语句
计数器
计数器在使用时需要初始化为 0
一、
while 死循环
1、
while 死循环结构
2、
while 死循环一般形式
while(1){
循环语句
}
3、break 语句
如果想要使停止 while 死循环,我们需要使用:
break;循环跳出语句
-
4、计数器
当我们想要进行统计操作时,就需要一个特殊的变量—计数器,并且计数
一般器需要赋初值为 0:
int i = 0;
-
5、死循环适用情况
-
while 死循环善于解决输入若干个数字的问题,当我们做题时发现题目中出
现若干这样的字眼,或者在输入的时候需要输入很多数字,以某个条件作为结
束标志,那么我们就可以选用 while 死循环来解决问题。
while(1){
输入语句
if(表达式){
-
break;
}
循环语句;
}
-
第 14 课时知识精炼
学习内容
1. while(表达式)循环
2. 累加器
重点知识一
while(表达式)循环
while(表达式){
循环语句;
}
代码有两部分:
while(表达式)
循环语句
重点知识二
累加器
int sum = 0;
累加器在使用时,一般初始化为 0
一、 while(表达式)循环
1、
while(表达式)循环结构
while(表达式)循环只有当括号中的表达式成立时,才会执行循环语句:
2、 累加器
当我们需要在循环中求某些数的和时,需要使用一个特殊的变量来存储每
次数据累加的和,即计数器:
int sum = 0;
3、 while(1)死循环与 while(表达式)循环的区别
while(1)死循环,使用 break 跳出循环,而 while(表达式)循环是根据表达
式是否成立决定循环语句是否执行,如果表达式成立则执行循环语句,否则不
执行。
-
啊,哈哈,哈哈,哈 编程题来喽!
-
猜数字
时间限制:1秒 内存限制:128M
题目描述
同学聚会上,老师带大家玩起了猜数字的游戏。游戏规则如下:老师从1-100之间随机抽一个数字让大家猜,大家轮流猜数字,每次只能猜一个,猜错则输出错误,直到猜对为止,输出正确并结束游戏,本次游戏的正确数字为43。
输入描述
若干个数字,直到输入43停止输入。
输出描述
若干行错误,最后一行为正确
样例
输入
5 10 20 43
输出
错误
错误
错误
正确
-
public int GuessNumber1(int n) { //本质还是在找一个一个数字,二分法 int low = 1; int high = n; while (low <= high) { int mid = low + (high - low) / 2; int res = guess(mid); if (res == 0) { return mid; } else if (res < 0) { high = mid - 1; } else { low = mid + 1; } } return -1; }
-
“正义”的数字
时间限制:1秒 内存限制:128M
题目描述
我们定义“正义的数字为大于数字零的数。现在输入若干个整数,最后一个数字为0,计算其中一共有多少个“正义的数字”。
输入描述
一行若干整数,最后一个为0。
输出描述
一行一个整数,表示输入的数据中正整数的个数。
样例
输入
3 6 -3 2 0
输出
3
-
#include <iostream> using namespace std; int main() { int num, count = 0; cin >> num; while (num != 0) { if (num > 0) { count++; } cin >> num; } cout << count << endl; return 0; } //首先,我们定义了一个整型变量 num 来接收输入的整数,以及一个计数器 count 来统计正义的数字的个数,初始化为0 //然后,使用 while 循环来不断输入整数,直到输入数字0为止。在循环中,如果当前输入的数字大于0,则将 count 计数器加1 //最后,输出 count 的值,即正义的数字的个数 //注意,如果输入的第一个数字就是0,则不会进入循环,直接输出0即可
苹果分级
时间限制:1秒 内存限制:128M
题目描述
今年老王家的苹果丰收了,为了能卖个好价钱,老王把苹果按直径大小分等级出售。这么多苹果如何快速的分级,可愁坏了老王。现在请你编写一个程序来帮助老王模拟苹果分级的操作吧,要求一级果的直径大于等于70毫米,二级果的直径是69~60毫米,三级果的直径是59~50毫米,小于50毫米的算四级果。
输入描述
若干个不超过120的正整数,表示每个苹果的直径,当输入直径小于20时表示结束。
输出描述
输出有两行:
第一行输出苹果总个数;
第二行输出一级果、二级果、三级果、四级果的个数,中间用空格分隔,四级果后面无空格。
样例
输入
67 34 85 58 32 54 59 60 55 42 51 0
输出
11 1 2 5 3
-
#include<stdio.h> #include<math.h> #include<string.h> int main() { int n,i,a[100000],b=0,c=0,d=0,e=0; memset(a,0,100000*sizeof(char)); for(i=0;;i++) { scanf("%d",&a[i]); if(a[i]<20) break; a[i]='\0'; } printf("%d\n",i); for(i=0;a[i]!='\0';i++){ if(a[i]>=70) b++; else if(a[i]>=60) c++ else if(a[i]>=50) d++; else e++; } printf("%d %d %d %d\n",b,c,d,e); return 0; }//作者不想打解释了,手麻了,还请见谅
变成0需要的次数
时间限制:1秒 内存限制:128M
题目描述
如果 ‘/’ 的左右两边的数字都是整数,则得到的结果为整数商,现在给定一个整数n,对n进行几次/2操作之后n会变成0?
输入描述
一个整数n(int范围内)
输出描述
n变成0需要的次数
-
样例
输入
7
输出
3
-
-
#include<iostream> using namespace std; int main() { int val1 = 0, val2 = 0, num=0; cout << "Enter two number:" << endl; cin >> val1 >> val2; while (abs(val1-val2) != 1 && val1 != val2) { if (val1 < val2) { ++val1; num = val1; cout << num << endl; } else { --val1; num = val1; cout << num << endl; } } return 0; }
本次教学就结束了,谢谢大佬评论!