a+b+c+d=?
Descriprion
This is a very simple problem! Your only job is to calculate a+b+c+d.
Input
In the first line, there is a single integer T(T≤200), which indicates the number of test cases.
In the next T lines, each line contains four integers a,b,c and d(−2^ 61 ≤a,b,c,d≤ 2^ 61).
Output
For each test case, output one line with the answer to a+b+c+d.
Sample Input
1
1 2 3 4
Sample Output
10
问题分析:
相加以后用Long会溢出,可以用java的BigDecimal类型。
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner= new Scanner(System.in);
int t=scanner.nextInt();
for(int i=1;i<=t;++i){
BigDecimal sum= BigDecimal.valueOf(0);
BigDecimal a=scanner.nextBigDecimal();
sum=sum.add(a);
BigDecimal b=scanner.nextBigDecimal();
sum=sum.add(b);
BigDecimal c=scanner.nextBigDecimal();
sum=sum.add(c);
BigDecimal d=scanner.nextBigDecimal();
sum=sum.add(d);
System.out.println(sum);
}
}
}
sdut-入门-三个整数和、积与平均值
给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。
输入格式:
输入只有三个正整数a、b、c。数据之间用一个空格隔开。
输出格式:
输出一行,包括三个的和、乘积、平均数。 数据之间用一个空格隔开,其中平均数保留小数后面两位。
输入样例:
2 3 3
输出样例:
8 18 2.67
问题分析:
两位小数表示方法:
借助字符串输出%.nf,n来控制小数点后四舍五入保留的位数。
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner= new Scanner(System.in);
double a= scanner.nextInt();
double b= scanner.nextInt();
double c= scanner.nextInt();
double sum=a+b+c;
double mul=a*b*c;
String s=String.format("%.2f",sum/3);
System.out.println((int)sum+" "+(int)mul+" "+s);
}
}
编程题:复杂情况下的数据统计问题
进行数值统计的时候,可能会混入一些非数值的元素,下面请编程完成对输入序列进行求和统计并输出, 如果遇到非数值元素,则自动跳过,并在最终结果输出行之后另起一行,输出attention
输入格式:
单行输入,元素之间使用空格分开
输出格式:
对元素所对应的整数进行求和并输出
如果遇到非数值元素,则自动跳过,并在最终结果输出行之后另起一行,输出attention
输入样例a:
在这里给出一组输入。例如:
1 2 3 4 5
输出样例a:
在这里给出相应的输出。例如:
15
输入样例b:
在这里给出一组输入。例如:
1 2 3 4 a 5
输出样例b:
在这里给出相应的输出。例如:
15
attention
问题分析:
用try catch来判断数据类型
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
int sum = 0;
int flag = 0;
String[] str = s.split(" ");
for (int i = 0; i < str.length; ++i) {
try {
int num=Integer.valueOf(str[i]);
sum+=num;
}catch (Exception e){
flag = 1;
continue;
}
}
System.out.println(sum);
if(flag==1){
System.out.println("attention");
}
}
}