C/C++中输入多组数据方法
--------开始--------
对于刚开始学编程的人来说每次基本上就是一次数据输入,多次的话基本也是会给定一个数组的大小,但随着做刷算法题开始,题目有的会不直接告诉输入几组数据,基本输入都是多组数据,对此不得不学习输入多种数据的方法。
关于文件结束符EOF
EOF 是 End Of File 的缩写,就是文件结束的意思。
EOF在C语言中是在标准库中定义的一个宏,需要注意的是,EOF不是一个字符,它是从文件中读取到的一个字符,通常被定义为 int 型的一个负数 // 例如-1.
方 法 一 :
#include <stdio.h> int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
printf("%d",n);
}
return ;
}
在C语言中使用while循环语句,判断输入数据是否为文件结束符,如果不是就能够达到多组输入的结果。
方 法 二 :
#include<bits/stdc++.h> using namespace std; int main()
{
int n;
while(cin >> n)
{
cout << n << endl;
}
return ;
}
在C++中也运用while语句,原理与C语言中类似,while输入语句不断检查输入的值是否为文件结束的条件,进而得到输入多组数据的结果。
方 法 三 :
#include <bits/stdc++.h> using namespace std; int main()
{
int n;
while(~scanf("%d",&n))
{
cout << n << endl;
}
return ;
}
这种方法在C和C++中相同,在scanf前加个~(按位取反),就是把二进制中的0变成1,1变成0,用在这里导致只有scanf返回-1,循环才会结束,也就是要返回EOF为止。
while (~scanf("%d",&n)) 相当于 while (scanf("%d",&n)!=EOF)
--------结束--------
C/C++中输入多组数据方法的更多相关文章
- invalid types 'int[int]' for array subscript// EOF 输入多组数据//如何键盘输入EOF
数组维度搞错了 一次运行,要输入多组数据,直到读至输入文件末尾(EOF)为止 while(scanf("%d %d",&a, &b) != EOF) // 输入结束 ...
- 总结MathType中输入小于号的方法
作为一款专业的公式编辑软件,MathType可谓是非常强大,先不说其编辑公式是多么的方便.迅速,但就打开软件界面,看到不可估算的数学符号有那么多,你就会感叹它的强大,竟然能把绝大部分的数学符号都汇聚于 ...
- 【sublime】解决汉字输入的办法——InputHelper;在sublime中输入汉字==》InputHelper方法
手工安装办法: cd ~/.config/sublime-text-2/Packages #如果是sublime3就改一下 git clone https://github.com/xgenvn/I ...
- 众数问题(为什么只能输入一组数据,不能输入m组数据)
描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数.例如:S={1,2,2,2,3,5},则多重集S的众数是2, ...
- oracle insert into 插入多组数据方法总结
网上好多oracle 的文章,多是以oracle开头,内容确实其他sql,一幅气死人不偿命的嘴脸着实让人难受. 今天就更新点oracle 使用insert into插入数据的方式: 1.oracle ...
- oracle中insert 多条数据方法
oracle中的insert 和 mysql添加多条数据的 方式不太一样 用到的语法: insert all into 表名(需要添加的表字段)values(添加的字段数据一定要对应字段顺序) int ...
- 关于如何在MFC工程中输入不同的数据进行调试
我们可以采用c++的文件输入输出来进行调试 这样就绕过了不能使用黑窗口输入数据就不能调试的思维定式 不是黑窗口的我们都可以考虑用文件流输入输出 或者用控件来输入? http://blog.csdn.n ...
- 在input中输入需要的数据,使用qrcode,点击生成二维码
话不多说直接上代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...
- 标记excel中输入的重复数据
首先选中需要标记重复的数据列 开始 -> 条件格式 -> 突出显示单元格规则 -> 重复值 选择相应的颜色即可 效果如下:
随机推荐
- Python 之类型转换
# int(x[, base]) 将x转换为一个整数,base为进制,默认十进制 # # long(x[, base] ) 将x转换为一个长整数 # # float(x) 将x转换到一个浮点数 # # ...
- Springboot使用JdbcTemplate RowMapper查询,直接返回实体列表
ManagerRowMapper.java public class ManagerRowMapper implements RowMapper<Manager>{ @Override p ...
- 64.root object的理解
一.root object的理解 就是某个type对应的mapping json,包括properties,metadata(_id,_source,_type),settings(analy ...
- c发邮件
/* base64编码 */ static const char* base64_enc_map = \ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmno ...
- ACM的你伤不起
劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! ...
- LightOJ - 1148 - Mad Counting
先上题目: 1148 - Mad Counting PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit: 3 ...
- 传染病控制(洛谷 1041 WA 90)
题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒携带 ...
- 洛谷——P2722 总分 Score Inflation
https://www.luogu.org/problem/show?pid=2722 题目背景 学生在我们USACO的竞赛中的得分越多我们越高兴. 我们试着设计我们的竞赛以便人们能尽可能的多得分,这 ...
- N天学习一个linux命令之xz
前言 最近使用gitbook写接口文档,gitbook需要nodejs执行环境.安装nodejs时,发现安装包使用的是xz后缀,它是使用LZMA无损数据压缩算法生成的文件,压缩率很高.GNU已经内置了 ...
- oracle rac cache fusion
转载自 http://blog.csdn.net/tianlesoftware/article/details/6534239 Introduction This post is about orac ...