首页 > 试题广场 >

学生基本信息输入输出

[编程题]学生基本信息输入输出
  • 热度指数:206161 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。

数据范围:学号满足 ,各科成绩使用百分制,且不可能出现负数

输入描述:
学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。


输出描述:
学号,3科成绩,输出格式详见输出样例。
示例1

输入

17140216;80.845,90.55,100.00

输出

The each subject score of No. 17140216 is 80.85, 90.55, 100.00.
示例2

输入

123456;93.33,99.99,81.20

输出

The each subject score of No. 123456 is 93.33, 99.99, 81.20.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String info = in.nextLine();
        String num  = info.split(";")[0];
        String [] scores = info.split(";")[1].split(",");
        for(int i = 0; i < scores.length;i++){
            scores[i] = String.format("%.2f", Double.parseDouble(scores[i]));
        }
        System.out.println("The each subject score of No. "+num+" is "+scores[0]+", "+scores[1]+", "+scores[2]+".");
    }
    
}


发表于 2023-10-09 20:32:29 回复(0)
真绝了
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str1 = in.nextLine();
        String[] arr =str1.split(";|,");
        double[] douarr = new double[3];
        for(int i=0;i<douarr.length;i++){
            douarr[i]=Double.parseDouble(arr[i+1]);
        }



String s = String.format("The each subject score of No. %s is %.2f, %.2f, %.2f.",arr[0],douarr[0],douarr[1],douarr[2]);
            System.out.println(s);

        }
    }


发表于 2022-11-27 23:15:05 回复(1)
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String  a = sc.nextLine();
        String [] s = a.split(";");
        String [] score = s[1].split(",");
        for(int i=0;i<score.length;i++){
    float fl = Float.parseFloat(score[i]);
    score[i] = String.format("%.2f", fl);
        }
        System.out.printf("The each subject score of No. "+s[0]+" is "+score[0]+", "+score[1]+", "+score[2]+".");
;    }
}

发表于 2022-10-28 21:51:37 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String s=sc.nextLine();
        String[] arr=s.split(";");
        String[] scores=arr[1].split(",");
        Double[] scores1=new Double[3];
        for(int i=0;i<scores.length;i++)
            scores1[i]=Double.parseDouble(scores[i]);
        System.out.printf("The each subject score of No. %s is %.2f, %.2f, %.2f.",arr[0],scores1[0],scores1[1],scores1[2]);
    }
}

发表于 2022-07-24 22:22:12 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        String[] strArr = str.split(";");
        String[] scores = strArr[1].split(",");
        Integer stdNO = Integer.parseInt(strArr[0]);
        Double C_language_score = Double.parseDouble(scores[0]);
        Double Math_score = Double.parseDouble(scores[1]);
        Double English_score = Double.parseDouble(scores[2]);
        System.out.println("The each subject score of No. " + stdNO + " is " + String.format("%.2f",C_language_score) + ", " + 
                          String.format("%.2f",Math_score) + ", " + String.format("%.2f",English_score) + ".");
    }
}

发表于 2022-06-22 16:56:17 回复(0)
import java.util.*;
import java.text.DecimalFormat;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main
{
    public static void main(String [] args)
    {
        Scanner input=new Scanner(System.in);
        
        while(input.hasNextLine())
        {
            String score=input.nextLine();
            String [] numbers=score.split(";");
            String [] arr=numbers[1].split(",");
            System.out.print("The each subject score of No. "+numbers[0]+" is ");
            
            for(int i=0;i<arr.length;i++)
            {
                 BigDecimal bigDecimal = new BigDecimal(arr[i]); 
                 DecimalFormat decimalFormat = new DecimalFormat("0.00");
                decimalFormat.setRoundingMode(RoundingMode.HALF_UP);
                if(i==arr.length-1){
                    System.out.print(decimalFormat.format(bigDecimal)+".");
                }
                else
                {
                    System.out.print(decimalFormat.format(bigDecimal)+", ");
                }    
            }
            System.out.println();
        }
    }
}

发表于 2022-04-25 13:59:51 回复(0)
结果出来了,然而格式错误:您的程序输出的格式不符合要求(比如空格和换行与要求不一致)???No.前面有两空格???从这题目就能看的出来有空格???
发表于 2022-04-19 11:21:33 回复(0)
这个题到底差在哪里,总是说格式不符合要求😂
发表于 2022-04-11 20:58:25 回复(0)
为什么我这个总是显示格式错误?

import java.util.Scanner;

public class Main{

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        //使用;或,分隔输入数据
        String[] data = scanner.nextLine().split("[;,]");
        int id=Integer.parseInt(data[0]);
        double score1=Double.parseDouble(data[1]);
        double score2=Double.parseDouble(data[2]);
        double score3=Double.parseDouble(data[3]);
        System.out.println("The each subject score of  No. "+id+" is "+String.format("%.2f",score1)+", "+String.format("%.2f",score2)+", "+String.format("%.2f",score3)+".");
    }

}



发表于 2022-03-24 11:15:18 回复(0)
import java.util.Scanner;

public class Main{
    
    public static void main(String[] args){
        
        Scanner sin = new Scanner(System.in);
        // 输入是一个连续的字符串,使用我们要把输入的字符串按照分隔符写到字符串数组里面
        String[] data = sin.nextLine().split("[;,]");
        // 把字符串数组里面的数据转换成对应的数据
        long id = Integer.parseInt(data[0]);
        double score1 = Double.parseDouble(data[1]);
        double score2 = Double.parseDouble(data[2]);
        double score3 = Double.parseDouble(data[3]);
        
        System.out.println("The each subject score of No. " + id + " is " + String.format("%.2f",score1) + ", " + String.format("%.2f",score2) + ", " + String.format("%.2f",score3) + ".");
    }
}

发表于 2022-02-14 22:44:16 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
      Scanner mc1 =new Scanner(System.in);
        String[] str1=mc1.nextLine().replace(';',',').split(",");
        
        
//       System.out.printf("The each subject score of  No." +str1[0] + " is " +str1[1]+", "+ str1[2]+", "+ str1[3]+".");
      System.out.printf("The each subject score of  No. %d is %.2f, %.2f, %.2f.",Integer.parseInt(str1[0]),Float.parseFloat(str1[1]),Float.parseFloat(str1[2]),Float.parseFloat(str1[3]));


        

    }
}
发表于 2021-10-14 16:47:40 回复(0)
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        //向student[]中假如学生的no.因为只有no是被";"隔开的
        String[] student = in.nextLine().split(";");
        //剩下学生的成绩存储到scores[]数组中,因为成绩使用","隔开的
        String[] scores = student[1].split(",");
        //用nums数组存储四舍五入之后score的值
        ArrayList<BigDecimal> nums = new ArrayList<>();
        for (String s : scores){
            BigDecimal num = new BigDecimal(s);
            //用setScale方法来处理小数部分
            num = num.setScale(2,BigDecimal.ROUND_HALF_UP);
            nums.add(num);
        }
        System.out.println("The each subject score of  No. "+student[0]+" is "+nums.get(0)+", "+nums.get(1)+", "+nums.get(2)+".");
        
    }
}

发表于 2021-08-23 21:04:09 回复(0)
很拉但是能用
import java.util.Scanner;
import java.util.ArrayList;
import java.math.BigDecimal;

public class Main{
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        String[] msg = s.next().split(";");
        String[] scores = msg[1].split(",");
        ArrayList newScores = new ArrayList();
        for(String item : scores){
            BigDecimal num = new BigDecimal(item);
            //用BigDecimal的方法处理小数部分
            num = num.setScale(2,BigDecimal.ROUND_HALF_UP);
            newScores.add(num);
        }
         System.out.println("The each subject score of  No. " + msg[0] + " is " + newScores.get(0) + ", " + newScores.get(1) + ", " + newScores.get(2) + ".");
    }
}

发表于 2021-07-22 21:57:31 回复(0)
我觉得这题主要注意的是别看走眼了。。。。人家要求控制输出小数点数😥😥
第一次提交没通过还死活觉得 自己不是对的吗
发表于 2021-02-24 10:13:14 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String argn []){
        Scanner input =new Scanner(System.in);
        String inputStr=input.nextLine();
        String []strArr1=inputStr.split(";");
        String num=strArr1[0];
        String[]scoreArr= strArr1[1].split(",");        
        System.out.print("The each subject score of  No. "+num+" is ");
        for(int i=0;i<scoreArr.length;i++){
            double dou=Double.parseDouble(scoreArr[i]);
            System.out.printf("%.2f",dou);
            if(i==scoreArr.length-1){
                System.out.print(".");
            }else{
                System.out.print(", ");
            }
        }
    }
}


编辑于 2020-09-17 17:12:26 回复(0)
import java.util.*;
public class Main {
     public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String score = sc.nextLine();
        String[] s = score.split(";");
        String[] s2 = s[1].split(",");
        System.out.printf("The each subject score of  No. %d is %.2f, %.2f, %.2f.", Integer.valueOf(s[0]), Float.valueOf(s2[0]),  Float.valueOf(s2[1]),  Float.valueOf(s2[2]));
     }
}

发表于 2020-08-13 16:20:11 回复(0)
如果没通过,原因可能是The each subject score of  的of 后面两个空格🤣🤣🤣
发表于 2020-04-25 15:13:35 回复(0)

//承认自己不熟悉格式化

import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext())
        {
            String str=sc.next();
            String [] arr1=str.split(";");
            String noStr=arr1[0];//学号
            String scoreStr=arr1[1];//三科成绩

            String [] arr2=scoreStr.split(",");

            double c=Double.parseDouble(arr2[0]);//C语言的成绩
            double shu=Double.parseDouble(arr2[1]);//数学的成绩
            double ying=Double.parseDouble(arr2[2]);//英语的成绩

           System.out.print("The each subject score of  No. ");
           System.out.print(noStr);
           System.out.print(" is ");
           System.out.printf("%.2f",c);
           System.out.print(", ");
           System.out.printf("%.2f",shu);
           System.out.print(", ");
           System.out.printf("%.2f",ying);
           System.out.print(".");
           System.out.println();     
        }
    }
发表于 2020-03-25 19:16:11 回复(0)