写算法时,总会遇到这种测试例子
例如:
输入 输入包括多组数据。以n等于0结束 每组数据中: 第一行为一个整数n,表示整数的数量。 第二行输入n个整数。 所有输入的数均小于100000。 输出 输出答案。 样例输入 5 1 2 3 3 2 7 1 2 3 4 5 5 6 0 样例输出 1 5
则可以这样实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
while(true){
int n =sc.nextInt();
if(n == 0){
break;
}
//...这里为单组测试数据
}
}
}
输入
输入包含多组数据,以EOF结束,
每组首先输入三个正整数,n,m,k,其中(n,m,k<100)
后输入n个数表示每种零食的价格ai(ai<1000)
输出
输出一个正整数,表示最小花费
样例输入
4 3 2
1 2 3 4
7 3 8
1 2 3 4 5 6 7
样例输出
8
21
Java中实现以EOF结束:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
//...这里为单组测试数据
}
sc.close();
}
}
c或c++中实现以EOF结束:
#include <stdio.h>
int main(){
int n;
while (scanf("%d",&n)!=EOF){ //循环读入n,直到文件末位
//...这里是单组测试数据
}
return 0;
}
在windows平台,一般模拟EOF的输入是在一个新行的开头输入ctrl + z
在unix环境下,是在一个新行的开始出输入ctrl + D
在MacOS下,需要在一个新行的开始输入control+Q,再control + D
原文:https://www.cnblogs.com/-rainbow-/p/10589384.html