1036-1040

1036

题目描述

给你一个年份和月份,求该月有多少天

输入

一个年份(正整数),一个月份(1-12),中间有一个空格隔开

输出

该月的天数,单独占一行。

样例输入

2012 2

样例输出

29
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int year = sc.nextInt();
        int mouth = sc.nextInt();
 
        if ((year % 4 == 0) || (year % 100 != 0 && year % 400 == 0)) {
            switch (mouth) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    System.out.println(31);
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    System.out.println(30);
                    break;
                case 2:
                    System.out.println(29);
                    break;
            }
        } else {
            switch (mouth) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    System.out.println(31);
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    System.out.println(30);
                    break;
                case 2:
                    System.out.println(28);
                    break;
            }
        }
    }
}

1037

题目描述

给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果

输入

表达式的格式为:s1 op s2, s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符。注意运算符两侧各有一个空格。

输出

如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong input!"。最后结果小数点后保留两位。

样例输入

1.0 + 1.0

样例输出

2.00

提示

除数是0,用|s2|<1e-10(即10的-10次方)判断

本题在课程网站上有专题讲解,第三章的边讲边写:四则运算——浮点问题、switch语句、混合输入问题、标识变量

https://www.icourse163.org/learn/ZZULI-1206704833?tid=1465320443#/learn/content?type=detail&id=1245602916&cid=1270743255

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double s1 = sc.nextDouble();
        String op = sc.next();
        double s2 = sc.nextDouble();
 
        switch (op) {
            case "+":
                System.out.printf("%.2f%n", s1 + s2);
                break;
            case "-":
                System.out.printf("%.2f%n", s1 - s2);
                break;
            case "*":
                System.out.printf("%.2f%n", s1 * s2);
                break;
            case "/":
                if (s2 < 1e-10) {
                    System.out.println("Wrong input!");
                } else {
                    System.out.printf("%.2f%n", s1 / s2);
                }
                break;
            default:
                System.out.println("Wrong input!");
        }
 
    }
}

https://www.icourse163.org/learn/ZZULI-1206704833?tid=1465320443#/learn/content?type=detail&id=1245602916&cid=1270743255

1038

题目描述

输入3个整数,输出绝对值最大的那个数。

输入

输入包含3个int范围内的整数,用空格隔开。

输出

输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯一,则输出最先出现的那个。例如,若输入为1 -3 3,则输出为-3;若输入为1 3 -3则输出为3。

样例输入

1 2 -3

样例输出

-3
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
 
        if (Math.abs(a) >= Math.abs(b) && Math.abs(a) >= Math.abs(c)) {
            System.out.println(a);
        } else if (Math.abs(a) >= Math.abs(b) && Math.abs(a) <= Math.abs(c)) {
            if (Math.abs(a) == Math.abs(c)) {
                System.out.println(a);
            } else {
                System.out.println(c);
            }
        } else if (Math.abs(a) <= Math.abs(b) && Math.abs(a) >= Math.abs(c)) {
            if (Math.abs(a) == Math.abs(b)) {
                System.out.println(a);
            } else {
                System.out.println(b);
            }
        } else {
            if (Math.abs(b) >= Math.abs(c)) {
                System.out.println(b);
            } else {
                System.out.println(c);
            }
        }
    }
}

1039

题目描述

输入一个整数n和n个整数,输出这n个整数的和。

输入

输入有两行:第一行是一个正整数n,第二行是n个整数。

输出

输出一个整数,即n个数的和。输出单独占一行。

样例输入

3
7 3 2

样例输出

12
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += sc.nextInt();
        }
        System.out.println(sum);
    }
}

1040

题目描述

输入一个整数n,输出数列1+1/3+1/5+……前n项的和。

输入

输入只有一个正整数n。

输出

结果保留2位小数,单独占一行

样例输入

3

样例输出

1.53
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double sum = 0;
        double a;
        for (int i = 1; i <= n; i++) {
            a = 2 * i - 1;
            sum += (1 / a);
        }
        System.out.printf("%.2f%n", sum);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值