博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++中输入多组数据方法
阅读量:5342 次
发布时间:2019-06-15

本文共 1008 字,大约阅读时间需要 3 分钟。

--------开始--------

 

        对于刚开始学编程的人来说每次基本上就是一次数据输入,多次的话基本也是会给定一个数组的大小,但随着做刷算法题开始,题目有的会不直接告诉输入几组数据,基本输入都是多组数据,对此不得不学习输入多种数据的方法。

        关于文件结束符EOF

        EOF 是 End Of File 的缩写,就是文件结束的意思。

EOF在C语言中是在标准库中定义的一个宏,需要注意的是,EOF不是一个字符,它是从文件中读取到的一个字符,通常被定义为 int 型的一个负数 // 例如-1.

 

方 法 一 :

#include 
int main(){ int n; while(scanf("%d",&n) != EOF) { printf("%d",n); } return 0;}

在C语言中使用while循环语句,判断输入数据是否为文件结束符,如果不是就能够达到多组输入的结果。

 

方 法 二 :

#include
using namespace std;int main(){ int n; while(cin >> n) { cout << n << endl; } return 0;}

在C++中也运用while语句,原理与C语言中类似,while输入语句不断检查输入的值是否为文件结束的条件,进而得到输入多组数据的结果。

 

方 法 三 :

#include 
using namespace std;int main(){ int n; while(~scanf("%d",&n)) { cout << n << endl; } return 0;}

这种方法在C和C++中相同,在scanf前加个~(按位取反),就是把二进制中的0变成1,1变成0,用在这里导致只有scanf返回-1,循环才会结束,也就是要返回EOF为止。

while (~scanf("%d",&n)) 相当于 while (scanf("%d",&n)!=EOF)

 

--------结束--------

转载于:https://www.cnblogs.com/chuyds/p/10625037.html

你可能感兴趣的文章
迷宫问题
查看>>
【FZSZ2017暑假提高组Day9】猜数游戏(number)
查看>>
泛型子类_属性类型_重写方法类型
查看>>
eclipse-将同一个文件分屏显示
查看>>
对闭包的理解
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
windows编程ASCII问题
查看>>
.net webService代理类
查看>>
Code Snippet
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>