C语言中如何实现多组数据输入输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中如何实现多组数据输入输出相关的知识,希望对你有一定的参考价值。
最好举几个例子,比如输入n行数据(该如何结束输入)对应输出n行结果类型的;第一行输一个n,之后可输入n行数据,对应输出n个结果的类型的等等。纯菜鸟一个,望讲的详细具体一些
仔细认真看看下面的会对你有帮助的,嘿嘿输入格式:有多个case输入,直到文件结束
输出格式:一行一个结果
Problem Description
Your task is to Calculate a + b.
Too easy?! Of course! I specially designed the problem for acm beginners.
You must have found that some problems have the same titles with this one, yes, all these problems were designed for the same aim.
Input
The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.
Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.
Sample Input
1 5
10 20
Sample Output
6
30
Author
lcy
Recommend
JGShining
#include <stdio.h>
int main()
int a,b;
while( scanf( "%d%d" , &a , &b ) != EOF ) //输入直到文件结尾
printf( "%d\n" , a+b ); //一行一个结果
return 0;
HDOJ1090
输入格式:先输入有case数,再依次输入每个case
输出格式:一行一个结果
#include <stdio.h>
Problem Description
Your task is to Calculate a + b.
Input
Input contains an integer N in the first line, and then N lines follow. Each line consists of a pair of integers a and b, separated by a space, one pair of integers per line.
Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.
Sample Input
2
1 5
10 20
Sample Output
6
30
Author
lcy
Recommend
JGShining
int main()
int n,a,b;
scanf( "%d" , &n ); //输入的case数
while( n-- ) //控制输入
scanf( "%d%d" , &a , &b );
printf( "%d\n" , a+b ); //一行一个结果
return 0;
HDOJ1091
输入格式:每行输入一组case,当case中的数据满足某种情况时退出
输出格式:一行一个结果
Problem Description
Your task is to Calculate a + b.
Input
Input contains multiple test cases. Each test case contains a pair of integers a and b, one pair of integers per line. A test case containing 0 0 terminates the input and this test case is not to be processed.
Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.
Sample Input
1 5
10 20
0 0
Sample Output
6
30
Author
lcy
Recommend
JGShining
#include <stdio.h>
int main()
int a,b;
while( scanf( "%d%d" , &a , &b ) && (a||b) ) //输入直到满足a和b均为0结束
printf( "%d\n" , a+b ); //一行一个结果
return 0;
HDOJ1092
输入格式:每组case前有一个控制输入个数的数,当这个数为0结束
输出格式:一行一个结果
#include <stdio.h>
Problem Description
Your task is to Calculate the sum of some integers.
Input
Input contains multiple test cases. Each test case contains a integer N, and then N integers follow in the same line. A test case starting with 0 terminates the input and this test case is not to be processed.
Output
For each group of input integers you should output their sum in one line, and with one line of output for each line in input.
Sample Input
4 1 2 3 4
5 1 2 3 4 5
0
Sample Output
10
15
Author
lcy
Recommend
JGShining
int main()
int n,sum;
while( scanf( "%d" , &n ) && n ) //每组case前有一个控制该组输入数据的数,为0结束
int x;
sum = 0;
while( n-- ) //控制该组输入个数
scanf( "%d" , &x );
sum += x;
printf( "%d\n" , sum ); //一行一个结果
return 0;
HDOJ1093
输入格式:一开始有一个控制总的输入case的数,而每个case中又有一个控制该组输入数据的数
输出格式:一行一个结果
Problem Description
Your task is to calculate the sum of some integers.
Input
Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.
Output
For each group of input integers you should output their sum in one line, and with one line of output for each line in input.
Sample Input
2
4 1 2 3 4
5 1 2 3 4 5
Sample Output
10
15
Author
lcy
5
#include <stdio.h>
int main()
int casnum,n,sum;
scanf( "%d" , &casnum ); //控制总的输入case的数
while( casnum-- ) //控制总的输入个数
int x;
sum = 0;
scanf( "%d" , &n ); //每个case中控制该组输入个数
while( n-- )
scanf( "%d" , &x );
sum += x;
printf( "%d\n" , sum ); //一行一个结果
return 0;
HDOJ1094
输入格式:总的case是输到文件结尾,每个case中的一开始要输入一个控制该组个数的数
输出格式:一行一个结果
Problem Description
Your task is to calculate the sum of some integers.
Input
Input contains multiple test cases, and one case one line. Each case starts with an integer N, and then N integers follow in the same line.
Output
For each test case you should output the sum of N integers in one line, and with one line of output for each line in input.
Sample Input
4 1 2 3 4
5 1 2 3 4 5
Sample Output
10
15
6
#include <stdio.h>
int main()
int n,sum;
while( scanf( "%d" , &n ) != EOF ) //输出到文件结尾
int x;
sum = 0;
while( n-- ) //控制该组输入个数
scanf( "%d" , &x );
sum += x;
printf( "%d\n" , sum ); //一行一个结果
return 0;
HDOJ1095
输入格式:输入直到文件结束
输出格式:一行一个结果,结果输完后还有一个blank line
Problem Description
Your task is to Calculate a + b.
Input
The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.
Output
For each pair of input integers a and b you should output the sum of a and b, and followed by a blank line.
Sample Input
1 5
10 20
Sample Output
6
30
7
#include <stdio.h>
int main()
int a,b;
while( scanf( "%d%d" , &a , &b ) != EOF ) //输入直到文件结束
printf( "%d\n\n" , a+b ); //一行一个结果,结果输完后还有一个回车
return 0;
HDOJ1096
输入格式:一开始输入总的case数,每组case一开始有控制该组输入个数的数
输出格式:一行一个结果,两个结果之间有一个回车,注意最后一个case的处理。
Problem Description
Your task is to calculate the sum of some integers.
Input
Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.
Output
For each group of input integers you should output their sum in one line, and you must note that there is a blank line between outputs.
Sample Input
3
4 1 2 3 4
5 1 2 3 4 5
3 1 2 3
Sample Output
10
15
6
#include <stdio.h>
int main()
int casnum,n,sum;
scanf( "%d" , &casnum ); //总的输入case数
while( casnum-- ) //控制输入组数
int x;
sum = 0;
scanf( "%d" , &n ); //控制每组的输入个数
while( n-- )
scanf( "%d" , &x );
sum += x;
printf( "%d\n" , sum ); //一行一个结果
if( casnum ) printf( "\n" ); //两两结果之间有一个回车,最后一个结果后面没有
return 0;
参考技术A
C语言中实现多组数据输入输出主要有两种方式:
1.首先输入一个n,表示将有n个输入输出,例如:
#include <stdio.h>int main()
int n,a;
scanf("%d",&n);
while(n--)
scanf("%d",&a);
printf("输出:%d\\n",a);
return 0;
/*
运行结果:
3
255
输出:255
156
输出:156
125
输出:125
*/
2.使用while(scanf("%d",&n)!=EOF)语句,直达输入ctrl+z,结束输入,例如:
int main()
int a;
while(scanf("%d",&a)!=EOF)
printf("输出:%d\\n",a);
return 0;
/*
运行结果:
54
输出:54
5156
输出:5156
21
输出:21
^Z
*/ 参考技术B 方法有很多,可定义一个一维数组,如a[[n],第一行提示输入一维数组大小即n,然后,依次输入一维数组的值!!
以上是关于C语言中如何实现多组数据输入输出的主要内容,如果未能解决你的问题,请参考以下文章