while语句相关内容

65 阅读2分钟

while语句:

示例1:基本计数循环(从1数到10)

1.代码如下:

#include <stdio.h>

int main() {
    int i = 1;  // 初始化循环变量
    // 当 i 小于等于 10 时,执行循环体
    while (i <= 10) {
        printf("%d ", i);  // 输出当前数字
        i++;  // 更新循环变量(自增)
    }
    printf("\n循环结束\n");
    return 0;
}

2.运行结果如下:

image.png

示例2:计算1到n的累加和(输入n)

1.代码如下:

#include <stdio.h>

int main() {
    int n, sum = 0;
    int i = 1;  // 从 1 开始累加

    printf("请输入一个正整数 n:");
    scanf("%d", &n);

    // 当 i 小于等于 n 时,累加 i 到 sum 中
    while (i <= n) {
        sum += i;  // 等价于 sum = sum + i
        i++;
    }

    printf("1 到 %d 的累加和为:%d\n", n, sum);
    return 0;
}

2.运行结果如下:

image.png

示例3:求一个数的阶乘(n!)

1.代码如下:

#include <stdio.h>

int main() {
    int n;
    unsigned long long factorial = 1;  // 用无符号长整型存储大结果
    int i = 1;

    printf("请输入一个非负整数:");
    scanf("%d", &n);

    // 处理特殊情况:0 的阶乘是 1
    if (n < 0) {
        printf("错误:负数没有阶乘!\n");
        return 1;  // 异常退出
    }

    // 计算 n! = 1*2*...*n
    while (i <= n) {
        factorial *= i;  // 等价于 factorial = factorial * i
        i++;
    }

    printf("%d 的阶乘是:%llu\n", n, factorial);
    return 0;
}

2.运行结果如下:

image.png

示例4:猜数字游戏(循环直到猜对为止)

1.代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int target, guess;
    // 生成 1-100 之间的随机数作为目标数字
    srand(time(0));
    target = rand() % 100 + 1;

    printf("猜数字游戏(1-100):\n");

    // 循环直到猜对为止(条件恒为真,用 break 退出)
    while (1) {
        printf("请输入你的猜测:");
        scanf("%d", &guess);

        if (guess > target) {
            printf("猜大了!再试试\n");
        } else if (guess < target) {
            printf("猜小了!再试试\n");
        } else {
            printf("恭喜你,猜对了!答案就是 %d\n", target);
            break;  // 猜对后退出循环
        }
    }

    return 0;
}

2.运行结果如下:

image.png