首页 > 代码库 > ACM输入输出--多组测试用例--C、C++、Java

ACM输入输出--多组测试用例--C、C++、Java

最近在练习一些关于ACM的题,往往会有多组测试用例,不知道该怎么办,查找资料总结之。

C和C++:必须是 int  main()提交,输入和输出的格式一定要按照题目要求的去写,否则提交不过。输入不可用文件输入。

Language

C

C++

To read numbers

int n;
while(scanf("%d", &n) != EOF)
{
  ...
}

int n;
while (cin >> n)
{
  ...
}

To read characters

int c;
while ((c = getchar()) != EOF)
{
  ...
}

char c;
while (cin.get(c))
{
  ...
}

To read lines

char line[1024];
while(gets(line))
{
  ...
}

string line;
while (getline(cin, line))
{
  ...
}


Java:必须是public class Main提交,并且不能带包名,输入和输出的格式一定要按照题目要求的去写,否则提交不过。输入不可用文件输入。使用

Scanner sc=new Scanner(System.in);

1.  多组数据,每组数据一个n(5<= n <=10^6)。
接下来n个整数Xi (1<=Xi<=10^6)。

Sample Input
4
1 2 3 4
5
1 2 6 5 4
这种使用
while(sc.hasNext()){
n=sc.nextInt();
int a[]=new int [n];
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
}

}

2. 多组数据
input
5
20
30
40
每组是一个测试用例,
int n;
while(sc.hasNext()){
n=sc.nextInt();

}
3. 一个n,加上一个大小为n的数组
input
2
sdfgdsg
dgsfdg
使用:
Scanner sc = new Scanner(System.in);  
int n = sc.nextInt();  
for(int i=0;i<n;i++){  
String str = sc.next();  
......  
}  


更详细的Java输入输出参考:http://blog.csdn.net/shijiebei2009/article/details/17305223