[C语言]多组输入的几种方法

1. 计数法

cpp 复制代码
#include <stdio.h>
int main()
{
	int n = 0;
	int i = 100;
	while (i--)
	{
		scanf("%d", &n);
		printf("%d\n", n);
	}
	return 0;
}

2.使用EOF标志处理多组输入

在C语言中,scanf函数返回成功读取的项目数。当遇到文件结束时,scanf返回EOF,表示没有更多的输入。(EOF是一个预定义的常量,等于-1。通过判断scanf的返回值否为EOF决定是否退出循环。)

cpp 复制代码
#include <stdio.h>
int main()
{
    int n;
    while (scanf("%d",&n) != EOF)
    {
        printf("%d\n", n);
    }
    return 0;
}

这种方法适用于处理包含字符和数字的多组输入‌。

3.使用EOF进行字符多组输入

在使用scanf读取数字时,回车键会被scanf消耗,因此在读取字符时需要使用getchar()来吸收回车符。

cpp 复制代码
int main()
{
    char n;
    while (scanf("%c",&n) != EOF)
    {
        getchar();
        printf("%c\n", n);
    }
    return 0;
}

这种方法适用于处理包含字符和数字的多组输入‌。

相关推荐
benchmark_cc5 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
程序员无隅6 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
Python+997 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
二炮手亮子7 小时前
浅记java线程池
java·开发语言
zmzb01037 小时前
C++课后习题训练记录Day157
开发语言·c++
dunge20267 小时前
2026年7月最新ChatGPT Plus / Pro 与 Codex:当 AI Agent 最新5.6版本来袭,必须理解事务、幂等与补偿
开发语言·人工智能·python
爱吃牛肉的大老虎9 小时前
rust基础之环境搭建
java·开发语言·rust
openKylin9 小时前
与全球技术演进同频,openKylin 3.0从C迈向Rust
c语言·开发语言·rust·开源·开放原子·openkylin
迷茫、Peanut9 小时前
C语言sizeof和strlen
c语言
疯狂打码的少年10 小时前
【软件工程】结构化设计:模块独立性与耦合内聚
java·开发语言·笔记·软件工程