跳到主要内容

4.2循环结构

4.2.1while循环语句

#include<iostream>
using namespace std;

int main(){
int num = 0;
while(num < 10)
{
cout << "num="<<num << endl;
num++;

}

system ("pause");

return 0;
}

示例:猜数字

#include<iostream>
using namespace std;
#include<ctime>

int main(){
//添加随机数种子,利用当前系统时间生成随机数,防止每次随机数都一样
srand((unsigned int)time(NULL));

int num = rand() % 100 + 1;//系统生成随机数0-99
cout<<num<<endl;
int val = 0;
while(1)
{
cin>>val;

if(val > num)
{
cout<<"猜测过大"<<endl;
}
else if(val < num)
{
cout<<"猜测过小"<<endl;
}
else
{
cout<<"恭喜您猜对了"<<endl;
break;
}
}

system("pause");

return 0;
}

4.2.2do…….while循环语句

与while的区别在于do….while会先执行一次循环语句,在判断循环条件

int main()
{
int num;
do
{
cout<<num<<endl;
num++;
}
while(num<10);
system("pause");
return 0;
}

示例:水仙花数

指的是一个3位数,它的每个位上的数字三次幂之和都等于它本身

#include<iostream>
using namespace std;

int main( )
{
int num = 100;
do
{
int a = 0;
int b = 0;
int c = 0;

a = num % 10;
b = num / 10 % 10;
c = num / 100;
if (a * a * a + b * b * b + c * c * c == num)
{
cout << num << endl;
}
num++;

} while (num < 1000);

system("pause");
return 0;
}

4.2.3for循环语句

int main()
{
for(int i = 0;i<10;i++)
{
cout<< i <<endl;
}

system("pause");

return 0;

}

案列:敲桌子

从1开始数到数字100,如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。

int main(){
for(int i = 1;i<=100;i++)
{
if(i%7==0||i%10==7||i/10==7)
{
cout<<"敲桌子"<<endl;
}
else
{
cout<< i <<endl;
}
}

system("pause");

return 0;
}

4.2.4嵌套循环

int main(){
for(int i = 0;i<10;i++)
{
for (int j = 0; j<10;j++)
{
cout<<"*";
}
cout<<endl;
}

system("pause");

return 0;
}

案例:乘法口诀表

int main(){
for (int i = 1;i<=9;i++)
{
cout<< i <<endl;
for(int j = 1;j<=i;j++)
{
cout<<j<<"*"<<i<<"="<<" ";
}
cout<<endl;
}

system("pause");

return 0;
}

参考与致谢