做了这么多的题,碰到了也碰到了好多种输入输出,今天就来细数一下我见到过的输入
1.直接输入
这是最简单的一种输入,只要确定输入类型就好了
p.g
请输入一个数字
int n;
scanf(“%d”,&n);
2.输入多组数据
有的时候出题人会让你输入多组数字,这个时候就应该想想有什么样的输入了
1)输入有多组数据
int n;
while(scanf("%d",&n)!=EOF)
或许有的人会说:哇,我还有输入!=EOF这五个字符呢,太麻烦了,不要慌还有一种适合你这种懒人的
int n;
while(~scanf(“%d”,&n)
怎么样简单了吧,从五个字符变成了一个字符,给你节省了好多力气呢
2)输入有n组数据
有的人会问了,诶,这和第一个有什么区别,一模一样诶,记住第一个不就好了。nonono,你太天真了,莫急,往下看
int n;
scanf(“%d”,&n);
while(n--)
这个和第一个最大的区别就是第一个你不知道输入多少组数据,题目不管那么多只让你一直输入,不让你停。第二种呢就是你知道有多少组数据了只需要可以数出这么多组数据就可以了
3.把字符串和数字输入到一行中
这种时候就有点坑了,千万不要慌,说:哎呀,没学过,完蛋了,别急这不是有我呢么,我来告诉你
这个咱们呢举个例子来说
灯光控制
题目描述
灯光师小明控制着各种晚会的各种大小灯,每次晚会小明都会对灯进行很多次操作。对每盏灯只能进行两种操作,开和关。现在小明希望自己随时都知道还有多少盏灯亮着。你需要编写一个程序当小明问你时你能快速的说出还有多少盏灯亮着。 注意晚会开始时所有的灯都是灭的。
输入
只有一组数据.第一行输入两个正整数N,T(0<N<=100000,0<T<=1000000)N表示有N盏灯,T表示有T条指令。随后T行每行有一条指令,这条指令包含一个字符串,当字符串为CHANGE,它后面还有一个整数m,表示对第m盏灯进行一次操作(操作表示如果第m盏灯灯是开着时就关闭,如果灯是关着时就打开)。当字符串为QUERY,表示小明想查询现在还有多少盏灯亮着。
输出
每次查询指令输出占一行,输出当前亮着灯的个数
样例输入
10 8
CHANGE 1
QUERY
CHANGE 2
QUERY
CHANGE 1
CHANGE 9
CHANGE 7
QUERY
样例输出
1
2
3
看这道题的输入,哇什么玩意啊,怎么要这样输入啊,烦死了。别急别急嘛,怕啥有我在呢,不要慌。
int t,N,T,b,s[100005]={0};
char a[7];
cin>>N>>T;
for(int i=0;i<T;i++)
cin>>a;
if(a[0]=='C')
cin>>b;
我只给出了输入部分,完整详解,请在我的博客里面寻找灯光控制,里面有详细代码。
C++和C的输入都是相通的,学会一种另一种也差不多了
好了,我能想到的输入就这几种了,如果谁还有不同种类的输入,请在评论区留言,让我这个菜鸟也长长见识,谢谢啦