清华计算机技术学院 |28~37节
1⃣️while循环(花括号可以省略)
💡例题
写出从 1 加到 100 的程序。
#include <stdio.h>
int main()
{
int a = 1;
int b = 0;
while(a < 101)
{
b = b + a;
a = a + 1;
}
printf("total is %d\n",b);
return 0;
}
2⃣️for循环(用于已知次数的循环体,花括号可省略)
💡例题
1) 写出从 1 加到 100 的程序。
#include <stdio.h>
int main()
{
int b = 0;
for(int a = 1;a<101;a++)
{
b = b + a;
}
printf("total is %d\n",b);
return 0;
}
2) 求100以内偶数之和。
#include <stdio.h>
int main()
{
int b = 0;
for(int a = 0;a < 101;a++)
{
if(a % 2 == 0)
{
b = b + a;
}
}
printf("The sum of even numbers within 100 is %d",b);
return 0;
}
3) 求100以内3的倍数之和。
#include <stdio.h>
int main()
{
int b = 0;
for(int a = 3;a < 101;a++)
{
if(a % 3 == 0)
{
b = b + a;
}
}
printf("The sum is %d\n",b);
return 0;
}
4) 求1-2+3-4+....+99-100
#include <stdio.h>
int main()
{
int b = 0;
for(int a = 0;a <101;a++)
{
if(a % 2 !=0)
{
b += a;
}
else{
b -= a;
}
}
printf("Total is %d\n",b);
return 0;
}
5) 输出以下图形:
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9
4 5 6 7 8 9
5 6 7 8 9
6 7 8 9
7 8 9
8 9
9
#include <stdio.h>
int main()
{
for(int a = 0;a <10;a++)
{
if(a > 0)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 1)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 2)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 3)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 4)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 5)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 6)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 7)
{
printf("%d ",a);
}
}
printf("\n");
for(int a = 0;a <10;a++)
{
if(a > 8)
{
printf("%d ",a);
}
}
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
for(int a = 1;a < 10;a++)
{
printf("%d ",a);
for(int b = a+1;b<10;b++)
{
printf("%d ",b);
}
printf("\n");
}
return 0;
}
6) 输出九九乘法表
#include <stdio.h>
int main()
{
for(int a = 1;a < 10;a++)
{
printf("%d✖️%d=%d ",a,a,a*a);
for(int b = a+1;b<10;b++)
{
printf("%d✖️%d=%d ",a,b,a*b);
}
printf("\n");
}
return 0;
}
3⃣️do while循环(先执行后判断,至少要执行一次)
4⃣️三种循环语句对比
5⃣️死循环
死循环应用:
1)用户输入密码一直输不对,陷入死循环
2)用户输入密码一直输不对,输入三次错误之后账户被冻结提示“输入失败,请24小时后重试”
#include <stdio.h>
int main()
{
int pass = 0;
printf("please input your passport:\n");
scanf("%d",&pass);
for(int a=0;a<4;a++)
{
if(pass != 123456)
{
if(a == 2)
{
printf("输入失败,请24小时后重试\n");
break;
}
else
{
printf("please input your passport again:\n");
scanf("%d",&pass);
}
}
else
{
printf("correct input");
break;
}
}
return 0;
}