循环
464字约2分钟
2025-05-28
for
for (int i = 0; i < 10; i++) {
}
无限循环
for (;;) {
}
while (1) {
}
do {
} while (1);
while
int i = 0;
while (i > 5) {
i++;
}
// 100 ~ 1
int i = 100;
while (i >= 1)
{
printf("%d\n", i);
i--;
}
// 1 ~ 100
int i = 1;
while (i <= 100)
{
printf("%d\n", i);
i++;
}
do... while
先执行在判断,循环体至少执行一次
do {
条件控制语句
} while(判断条件);
循环嵌套
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
}
}
练习
// 判断一个数是不是2的幂次数
int a;
printf("输入一个判断数:");
scanf("%d", &a);
while (a > 0 && a % 2 == 0)
{
a = a / 2;
}
if (a == 1)
{
printf("yes\n");
}
else
{
printf("no\n");
}
// 纸张折叠次数达到多少次到珠穆朗玛峰的高度
long a = 8844430L;
double b = 0.1;
int c;
while (b <= a)
{
b = 2 * b;
c++;
}
printf("则%d次才能达到", c);
// 求倒数,123-->321
int i = 123;
int a = i;
int b = 0;
while (a != 0)
{
int c = a % 10;
a = a / 10;
b = b * 10 + c;
}
printf("原数%d,倒数%d", i, b);
// 算术平方根
int a = 4;
int i = 1;
while (i * i <= a)
{
i++;
}
printf("算术平方根为%d", i - 1);
// 正三角形
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < i; j++)
{
printf("*");
}
printf("\n");
}
// 倒三角形
for (int i = 10; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
printf("*");
}
printf("\n");
}
// 九九乘法表
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
printf("%dx%d=%d\t", i, j, i * j);
}
printf("\n");
}
// 判断质数
// 只能被1和本身除的数
int a = 5;
int b;
for (int i = 2; i < a; i++)
{
if (a % i == 0)
{
b++;
break;
}
}
if (b == 0)
{
printf("%d是质数", a);
}
else
{
printf("%d不是质数", a);
}
// 计算 1的1次方+2的2次方+...+10的10次方
long long c = 0;
for (int i = 1; i <= 10; i++)
{
long long b = 1;
for (int j = 1; j <= i; j++)
{
b = b * i;
}
c = c + b;
}
printf("%lld", c);