• 算法测试例子特殊输入形式


    写算法时,总会遇到这种测试例子

    1、得到一个数z时,结束输入测试数据,常用的一般为0,-1

    例如:

    输入
    
    输入包括多组数据。以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;
                }
                 
                //...这里为单组测试数据
            }
             
        }
    }
    

      

    2、以EOF结束

    输入

    输入包含多组数据,以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

  • 相关阅读:
    Mysql 完整性约束
    Mysql 多表查询
    Mysql 数据表记录操作
    Mysql 数据库表操作
    Mysql 数据库操作
    sql语句规范
    Python IO模型
    csu-2018年11月月赛Round2-div1题解
    csu-2018年11月月赛Round2-div2题解
    Github新手使用学习详解
  • 原文地址:https://www.cnblogs.com/-rainbow-/p/10589384.html
Copyright © 2020-2023  润新知