一、多组数据输入
在TZOJ练习平台上,经常会见到一些题目说输入数据有多组、输入以EOF结束、当输入的数据为0时结束等等的题目描述,那么这些输入具体是如何去解决呢?
1.有明确输入n组数据,可以使用for/while循环来实现n组数据
while:
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; while(n--) { //在此输入数据 } return 0; }
for:
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; for(int i=1;i<=n;i++) //循环n遍 { } return 0; }
2.没说明具体数据组数,但是有说当输入为0时结束,这种一般有两种写法
第一种:
#include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n,n) //在while里输入数据,用逗号隔开的n就是在判断是否为0 { } return 0; }
第二种:
#include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n) //在while里输入数据 { if(n==0)break; //如果输入的n为0,那么结束循环 } return 0; }
3.题目仅说多组数据输入,没有明确任何结束条件
#include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n) //在while里输入数据 { } return 0; }
1002: C语言实验题――两个数比较
例如这题用到的就是第一种多组数据输入方案,对于题目所要求的比较大小的程序,直接在while循环中去执行就可以了
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; while(n--) //n--循环n次 { int a,b; cin>>a>>b; if(a>b) cout<<a<<endl; else cout<<b<<endl; } return 0; }
1078: 输入入门(3)
题目说明输入的a,b以输入0,0时结束,属于明确结束条件,第二种情况
#include<bits/stdc++.h> using namespace std; int main() { int a,b; //a,b定义在外面 while(cin>>a>>b) //在cin中输入a,b { if(a==0&&b==0)break; //判断本次输入a,b的结果是否满足结束条件 cout<<a+b<<endl; } return 0; }
1076: 输入入门(1)
题目说要以EOF作为结束,EOF是文件结束符,也就是输入ctrl+z,这种就是第三种输入情况
#include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n) //直接在while循环条件中输入n { //每次循环都输入a,b并输出a+b的结果 int a,b; cin>>a>>b; cout<<a+b<<endl; } return 0; }
1369: 求绝对值
题目没有说明以什么结束,其实就是以EOF结束,属于第三种情况
#include<bits/stdc++.h> using namespace std; int main() { int n; while(cin>>n) //直接在while循环条件中输入n { //每次循环都输入a,并输出绝对值保留小数 int a; cin>>a; if(a>0)printf("%.2f",a); //%.2f保留2位小数 else printf("%.2f",-a); } return 0; }
原文地址:http://www.cnblogs.com/jyssh/p/16882026.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性