C语言的多组输入

简介: 多组输入常见于OJ题中,理解多组输入首先要区分于输入输入:输入一组数据,程序结束运行多组输入:输入一组数据,程序不会结束运行,而是会接收更多组的数据

一、什么是多组输入?


多组输入常见于OJ题中,理解多组输入首先要区分于输入


输入:输入一组数据,程序结束运行


多组输入:输入一组数据,程序不会结束运行,而是会接收更多组的数据


二、多组输入实现的方法


实现多组输入常利用 scanf函数与while循环


方法1:原理:scanf函数的返回值是成功读取到数据的个数,而EOF为文件结束标志,数值为-1,只有当读取错误或者遇到文件结束标志EOF时,循环才停止。文件结束标志EOF,即Ctrl+Z,需要手动输入EOF才停止输入


注意:在VS2022编译器中,实际测试发现需要输入两次EOF,才能够停止输入

char ch = 0;
    while (scanf("%c", &ch) != EOF)
    {
        printf("print:%c\n", ch);
        getchar();
    }

方法2:原理:scanf函数的返回值是成功读取到数据的个数


注意:在VS2022编译器中,实际测试发现需要输入两次EOF,才能够停止输入

    char ch = 0;
    while (scanf("%c", &ch) == 1)
    {
        printf("print:%c\n", ch);
        getchar();
    }

当然也可以每组数据有两个数据项,相应的右值也要更改(n个数据项,右值为n)

char ch1 = 0;
    char ch2 = 0;
    while (scanf("%c %c", &ch1, &ch2) == 2)
    {
        printf("print:%c %c\n", ch1 , ch2);
        getchar();
    }


目录
相关文章
|
C语言 Windows
【初阶C语言】关于scanf函数的超详细介绍和多组输入
【初阶C语言】关于scanf函数的超详细介绍和多组输入 我们学习一个函数,要围绕三个点:1.函数是什么 2.函数的用法 3.注意的细节
653 0
|
5月前
|
C语言
C语言-----多组输入,一个整数(1~100),表示线段长度,即“*”的数量
C语言-----多组输入,一个整数(1~100),表示线段长度,即“*”的数量
|
6月前
|
Unix 编译器 Linux
C语言多组输入
C语言多组输入
215 0
|
6月前
|
C语言
多组数据的输入方法(c语言实现)
多组数据的输入方法(c语言实现)
|
编译器 C语言 C++
C语言--多组输入类题目
C语言--多组输入类题目
60 0
|
C语言
C语言:多组输入和getchar函数(2)
C语言:多组输入和getchar函数
|
C语言
C语言:多组输入和getchar函数(1)
C语言:多组输入和getchar函数
|
C语言
【C语言初学必看】之多组输入的玄机
【C语言初学必看】之多组输入的玄机
|
存储 C语言
C语言:获得月份天数(多组输入)-2
思路二:用数组存储各月的日期 总体思路: (一). 写一个函数 get_days_of_month 返回对应月份天数:
123 0
|
C语言
C语言:获得月份天数(多组输入)-1
描述 KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。 输入描述: 多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。 输出描述:
253 0