刷题时经常需要输入多组数据,但是数据个数未知,这时候就不能以数据个数作为输入是否结束的判断标准了,可以通过以下方法来实现未知情况下的输入。

1.C语言:scanf语句会返回其成功读入的参数个数,例如scanf("%d",&a)返回值为1,因此我们可以用scanf返回值为-1判断是否输入结束。C语言使用EOF(End
Of File)来代表-1;

注意在黑框中输入数据时并不会触发EOF状态,因此需要我们按Ctrl+z手动触发EOF,此时框内会显示^Z,再按回车键即可退出循环。

(1)输入数字:
while(scanf("%d",&a)!=EOF){ cout<<a<<endl; }

(2)输入字符串:

方法一
while(gets(str)!=NULL){ cout<<str<<endl; }
方法二
while(scanf("%s",str)!=EOF){ cout<<str<<endl; }
2.C++:

(1)输入数字:
while(cin>>i){ cout<<i<<endl; }
(2)输入字符串:
while(getline(cin,s)){ cout<<s<<endl; }

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信