while 循环
while(条件){循环语句}
当满足条件时,则执行循环语句;当不满足条件时,结束循环。
利用while制作猜随机数游戏:
1 #include<iostream> 2 #include <time.h>//时间库 3 using namespace std; 4 int main() { 5 srand((unsigned)time(NULL));//和#include <time.h>一起保证每次随机数不一致 6 int a = rand() % 100 + 1; 7 /* 8 rand是生成随机数的指令,会生成0到指定位数减一的随机数 9 所以需要生成[1, 100]的随机数需要在所有随机数后面加一 10 */ 11 int b = 0; 12 int c = 1; 13 cout << "请输入1-100以内您猜测的数字 :" << endl; 14 while (c<=5 && b!=a )//&& b!=a 的作用是如果c+到5之前猜出了可以结束循环,c<=5是在5次全猜错的情况下保证跳出循环 15 { 16 cin >> b; 17 if (b == a) 18 cout << "恭喜您猜对了 !随机数为 :" << a << endl << "您用了 :" << c <<"次就猜对了!" << endl; 19 else if (b > a) 20 { 21 cout << "很遗憾,您猜大了。" << endl; 22 cout << "您已经猜错 :" << c << "次了,您还有 :" << 5 - c << "次机会 !" << endl; 23 c++; 24 } 25 else 26 { 27 cout << "很遗憾,您猜小了。" << endl; 28 cout << "您已经猜错 :" << c << "次了,您还有 :" << 5 - c << "次机会 !" << endl; 29 c++; 30 } 31 if (c > 5) 32 { 33 cout << "您的机会已经用尽,请下次再来!" << endl; 34 } 35 36 } 37 system("pause"); 38 return 0; 39 }
注意:在执行循环语句时候,程序必须提供跳出循环的出口,否则出现死循环
do while 循环:
do{循环体}while(循环条件)
先做执行循环语句,在判断是否符合条件,如果符合则继续循环。
利用do while 循环找出水仙花数(**水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身):
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int n = 100; 6 do { 7 int a;//个位 8 int b;//十位 9 int c;//百位 10 a = n % 10; 11 b = n / 10 % 10; 12 c = n / 100; 13 if (a * a * a + b * b * b + c * c * c == n)//因为 == 的优先级比 ^ 高所以不能用 ^,为什么不用if(a^3+b^3+c^3)==n)因为if中不能有括号
14 { 15 cout << n << endl; 16 } 17 n++; 18 } while (n < 1000); 19 return 0; 20 }
do while 和 while 的区别在于 do while会先执行一边循环语句再判断是否符合条件,而while 循环则是先判断是否符合条件,符合的话再执行循环语句。