蓝桥试题 算法提高 歌唱比赛 JAVA

问题描述
  X市正在进行歌唱比赛,请你写一个程序计算得分。

每名选手从1到N编号,每名选手的综合成绩由以下几个部分组成:

1.歌唱得分占70%

2.才艺展示得分占20%

3.观众投票得分占10%

4.不超过五分的特殊加分(如果总分超过100分则记为100)
输入格式
  第一行一个整数N,表示选手人数

接下来N行,每行四个整数,分别表示歌唱得分,才艺得分,投票得分和加分。
输出格式
  输出N行,每行一个数,表示得分(保留一位小数)
样例输入
6
62 50 60 1
77 71 85 3
98 79 98 5
75 62 60 0
99 72 68 4
82 88 89 2
样例输出
60.4
79.6
99.2
70.9
94.5
85.9

思路:这题的难点就在于最后输出的那个部分,其他的地方仔细读题就可。

补充知识点:DecimalFormat("#.0").format(); 保留一位小数输出。

详情:https://www.cnblogs.com/yelongsan/p/5482774.html

import java.text.DecimalFormat;
import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		double ans = 0;
		for (int i = 0; i < n; i++) {
			int sing = scanner.nextInt();    // 歌曲成绩
			int skill = scanner.nextInt();   // 才艺成绩
			int vote = scanner.nextInt();    // 投票成绩
			int bonus = scanner.nextInt();   // 加分成绩
			ans = sing * 0.7 + skill * 0.2 + vote * 0.1 + bonus;       // 题目算式
			if (ans > 100) {                 // 成绩大于100
				ans = 100;                   // 直接给100
			}
			System.out.println(new DecimalFormat("#.0").format(ans));  // 保留一位小数输出
		}
	}
}

思路:直接利用三目运算符返回是否是大于100的成绩即可~~

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		for (int i = 0; i < n; i++) {
			int sing = scanner.nextInt();
			int skill = scanner.nextInt();
			int vote = scanner.nextInt();
			int bonus = scanner.nextInt();
			double sum = sing * 0.7 + skill * 0.2 + vote * 0.1;
			double ans = sum + bonus;
			System.out.printf("%.1f\n", ans > 100.0 ? 100.0 : ans);  // 三目判断输出
		}
	}
}

小剧场:像烈焰吞噬一切,瞬间把你毁灭。

英文版:Like a flame devouring everything, destroying you in an instant.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值