ACM和蓝桥杯比赛7种常用的多组输入输出(c语言)
编者按:以下7道题为ACM和蓝桥杯比赛中常用的多组输入输出的情况,题目很简单,这里相当于做一个总结,若读者有其他情况或者办法,可留言一起交流。
第1道:
#include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)==2) { printf("%d ",a+b); } return 0; } //备注: //scanf是有返回值的,返回值是成功接收的对象个数
第2道:
#include<stdio.h> int main() { int n; int a,b; scanf("%d",&n); while(n--) { scanf("%d%d",&a,&b); printf("%d ",a+b); } return 0; } //备注: //这里是先规定输入的组数n,再接收n组输入
第3道:
#include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)==2) { if(a==0&&b==0) { break; } printf("%d ",a+b); } return 0; } //备注: //这里是遇到规定的数据时候就表示接收结束 //这里规定遇到两个0时候就结束接收
第4道:
#include<stdio.h> int main() { int n; int sum=0; int temp; while(scanf("%d",&n)==1) { if (n==0) break; sum=0; while(n--) { scanf("%d",&temp); sum=sum+temp; } printf("%d ",sum); } return 0; } //备注: //这里是接收多组数据 ,每组数据有多多少个不固定,以第一个数据为准。 //遇到规定的数据,结束接收
第5道:
#include<stdio.h> int main() { int n; int sum=0; int m; int temp; scanf("%d",&n); while(n--) { sum=0; scanf("%d",&m); while(m--) { scanf("%d",&temp); sum=sum+temp; } printf("%d ",sum); } return 0; } //备注: //这里先接收一个数据的组数 //每一组的第一个数代表本组数据的个数
第6道:
#include<stdio.h> int main() { int m; int sum; int temp; while(scanf("%d",&m)==1) { sum=0; while(m--) { scanf("%d",&temp); sum=sum+temp; } printf("%d ",sum); } return 0; } //备注: //一直接收输入
第7道:
#include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)==2) { printf("%d ",a+b); printf(" "); } return 0; } //备注: //一直接收输入,计算两数字和
下一篇:
为什么要学习算法和数据结构?