do-while 循环

简介: do-while 循环

do-while 循环的 C 语言代码示例,并确保它超过 1000 字。以下是一个示例,它包含了一个简单的 do-while 循环,用于从用户那里读取整数输入,直到用户输入一个非正数为止。然后,我们将计算并打印出所有正整数的和。此外,我还会扩展示例,包括一些额外的功能,比如错误检查和用户交互。

 

#include <stdio.h>
 
int main() {
    int number, sum = 0;
    char again = 'y'; // 用于询问用户是否继续输入的标志
 
    // 主循环,询问用户是否要输入数字
    do {
        printf("请输入一个正整数(输入非正数结束):");
        if (scanf("%d", &number) != 1) {
            // 输入错误处理
            printf("输入无效,请输入一个整数。\n");
            while (getchar() != '\n'); // 清除输入缓冲区
            continue; // 跳过本次循环的剩余部分
        }
 
        // 检查是否为正整数
        if (number <= 0) {
            printf("已结束输入。\n");
            break; // 跳出 do-while 循环
        }
 
        sum += number; // 累加正整数
 
        // 询问用户是否继续输入
        printf("要继续输入吗?(y/n):");
        scanf(" %c", &again); // 注意空格,用于跳过任何剩余的空白字符
 
        // 清除输入缓冲区,以防有多余的字符
        while (getchar() != '\n');
 
    } while (again == 'y' || again == 'Y'); // 当用户输入 'y' 或 'Y' 时继续循环
 
    // 输出结果
    printf("所有输入的正整数之和为:%d\n", sum);
 
    // 扩展示例:使用 do-while 循环进行字符串的逆序打印
    char str[100];
    int length, i = 0;
 
    printf("请输入一个字符串:");
    scanf("%99s", str); // 限制输入长度以防止缓冲区溢出
 
    length = 0;
    // 计算字符串长度
    do {
        length++;
    } while (str[length - 1] != '\0');
 
    printf("逆序打印的字符串为:");
    i = length - 1; // 从字符串末尾开始
    do {
        printf("%c", str[i]);
        i--;
    } while (i >= 0);
    printf("\n");
 
    return 0;
}

 

在这个示例中,我们首先使用 do-while 循环从用户那里读取正整数输入,直到用户输入一个非正数为止。然后,我们计算所有输入的正整数的和,并打印结果。接下来,我们扩展了示例,使用另一个 do-while 循环来逆序打印用户输入的字符串。我们还添加了一些错误检查来处理无效的输入,并使用 getchar() 函数来清除输入缓冲区,以防有多余的字符影响后续的输入。这些扩展功能增加了代码的复杂性和实用性,同时也满足了超过 1000 字的要求。

相关文章
|
2月前
|
JavaScript 前端开发
什么是 for 循环?
什么是 for 循环?
27 0
|
7月前
|
机器人 Python
while`循环
`Python`的`while`循环在条件为真时重复执行代码块。常见用法包括:固定次数循环、无限循环(可由外部条件退出)、使用`break`和`continue`控制流程,以及等待条件满足。经典应用案例有模拟登录尝试、读取文件至末尾和实现简单聊天机器人。`while`循环适用于处理不确定次数迭代和条件触发场景。
68 2
|
7月前
|
机器学习/深度学习
while循环
该内容是关于编程中的`while`循环结构介绍。它以markdown格式展示了`while`循环的基本形式:`while(表达式) 语句;`,并提到如果需要多条语句,可以用大括号包裹。接着,提供了两个实例:一是打印1到10的数字,二是逆序输出一个正整数的每一位。每个实例都配有一个展示结果的图片。
58 2
|
7月前
|
算法
do while循环及练习
do while循环及练习
39 0
|
7月前
do while循环
该内容介绍了编程中的循环语句,强调了`do while`循环与`while`和`for`循环的区别。`do while`循环先执行循环体再判断条件,确保至少执行一次,而`while`和`for`先判断条件再执行。通过示例展示了`do while`循环打印1-10和计算正整数位数的应用,指出在某些情况下,`do while`循环更为合适。
48 0
|
7月前
|
C++
C++ 循环
C++ 循环
41 0
三个循环(C)
while语句:while(表达式){},先判断表达式,若符合,则执行循环内容,一个循环后再次判断表达式。
73 0
【C#视频】for、while、do-while三种循环
【C#视频】for、while、do-while三种循环
|
C语言
C 中的循环
C 中的循环