问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C语言如何实现重复输入(cin)

创作时间:
作者:
@小白创作中心

C语言如何实现重复输入(cin)

引用
1
来源
1.
https://docs.pingcode.com/baike/1161415


在C语言中重复输入(cin)的方法包括使用循环结构、处理异常输入和验证用户输入。循环结构是最常见的方法,通过for、while或do-while循环实现重复输入。本文将详细介绍如何在C语言中使用这些方法来实现重复输入。

一、使用循环结构实现重复输入

1.1、while循环

while循环是C语言中常用的一种循环结构,它在条件为真时反复执行循环体。以下是一个示例,展示如何使用while循环来实现重复输入:

#include <stdio.h>

int main() {  
    int num;  
    printf("请输入一个整数(输入-1退出):\n");  
    scanf("%d", &num);  
    while (num != -1) {  
        printf("您输入的整数是:%d\n", num);  
        printf("请输入另一个整数(输入-1退出):\n");  
        scanf("%d", &num);  
    }  
    printf("程序结束。\n");  
    return 0;  
}  

在这个示例中,用户可以不断输入整数,直到输入-1为止,程序才会退出。

1.2、for循环

虽然for循环在结构上更适合用于已知循环次数的情况,但也可以通过设置合适的条件来实现类似while循环的功能。以下是一个示例:

#include <stdio.h>

int main() {  
    int num;  
    printf("请输入一个整数(输入-1退出):\n");  
    for (scanf("%d", &num); num != -1; scanf("%d", &num)) {  
        printf("您输入的整数是:%d\n", num);  
        printf("请输入另一个整数(输入-1退出):\n");  
    }  
    printf("程序结束。\n");  
    return 0;  
}  

在这个示例中,for循环的初始化部分和条件部分都用于处理用户输入,从而实现与while循环类似的功能。

1.3、do-while循环

do-while循环在执行循环体之后再判断条件,因此至少会执行一次循环体。以下是一个示例:

#include <stdio.h>

int main() {  
    int num;  
    do {  
        printf("请输入一个整数(输入-1退出):\n");  
        scanf("%d", &num);  
        if (num != -1) {  
            printf("您输入的整数是:%d\n", num);  
        }  
    } while (num != -1);  
    printf("程序结束。\n");  
    return 0;  
}  

在这个示例中,无论用户输入什么,程序至少会提示用户输入一次。

二、处理异常输入

在实际应用中,用户输入可能包含非法字符或其他异常情况。为了提高程序的健壮性,需要处理这些异常输入。以下是一个示例,展示如何处理异常输入:

#include <stdio.h>

int main() {  
    int num;  
    int result;  
    printf("请输入一个整数(输入-1退出):\n");  
    result = scanf("%d", &num);  
    while (num != -1) {  
        if (result != 1) {  
            printf("输入无效,请重新输入一个整数(输入-1退出):\n");  
            while (getchar() != '\n'); // 清除输入缓冲区  
        } else {  
            printf("您输入的整数是:%d\n", num);  
        }  
        printf("请输入另一个整数(输入-1退出):\n");  
        result = scanf("%d", &num);  
    }  
    printf("程序结束。\n");  
    return 0;  
}  

在这个示例中,程序会检查scanf函数的返回值,以确定输入是否有效,并在输入无效时提示用户重新输入。

三、验证用户输入

在某些情况下,需要对用户输入进行进一步的验证。例如,限制输入的范围或格式。以下是一个示例,展示如何验证用户输入:

#include <stdio.h>

int main() {  
    int num;  
    int result;  
    printf("请输入一个整数(范围1-100,输入-1退出):\n");  
    result = scanf("%d", &num);  
    while (num != -1) {  
        if (result != 1 || num < 1 || num > 100) {  
            printf("输入无效,请重新输入一个范围在1-100之间的整数(输入-1退出):\n");  
            while (getchar() != '\n'); // 清除输入缓冲区  
        } else {  
            printf("您输入的整数是:%d\n", num);  
        }  
        printf("请输入另一个整数(范围1-100,输入-1退出):\n");  
        result = scanf("%d", &num);  
    }  
    printf("程序结束。\n");  
    return 0;  
}  

在这个示例中,程序不仅会检查输入的合法性,还会验证输入的范围是否在1到100之间。

总之,C语言中重复输入的方法主要包括使用循环结构、处理异常输入和验证用户输入。选择合适的方法,可以使程序更加健壮和高效。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号