题目解析:
题目描述了津津一周的日程安排,包括在学校上课的时间和妈妈安排她上课的时间。津津一天上课超过8个小时就会不高兴,且上课时间越长,不高兴程度越深。要求判断下周津津是否会不高兴,如果会不高兴则输出最不高兴的一天。
思路整理如下:
- 读取每天的上课时间和妈妈安排的上课时间。
- 判断每天的总上课时间是否超过8小时,如果超过则记录该天的不高兴程度。
- 如果有多天不高兴,需要输出最不高兴的一天。当有多天不高兴且程度相当时,输出时间最靠前的一天。
- 输出最不高兴的一天或者0表示不会不高兴。
测试点分析:
- 每天的上课时间都不超过8小时,津津不会不高兴。
- 某一天的上课时间超过8小时,津津会不高兴,且只有一天不高兴。
- 多天的上课时间超过8小时,但不高兴程度相同,应输出时间最靠前的一天。
- 多天的上课时间超过8小时,且不高兴程度不同,应输出不高兴程度最高的一天。
- 每天的上课时间都超过8小时,但不高兴程度相同,应输出时间最靠前的一天。
- 每天的上课时间都超过8小时,不高兴程度逐渐增加,应输出最不高兴的一天。
- 每天的上课时间都超过8小时,不高兴程度逐渐减少,应输出最不高兴的一天。
- 不同天的上课时间不同,但总时间均不超过8小时,津津不会不高兴。
- 不同天的上课时间不同,总时间超过8小时,应输出不高兴程度最高的一天。
- 所有天上课时间均为8小时,津津不会不高兴。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int maxTotalHours = 0; // 保存最大的总时间
int unhappyDay = 0; // 保存最不高兴的一天
for (int day = 1; day < 8; day++) {
int hours1 = scan.nextInt(); // 第一个课程的时间
int hours2 = scan.nextInt(); // 第二个课程的时间
int totalHours = hours1 + hours2; // 总时间
if (totalHours > maxTotalHours && totalHours > 8) { // 如果总时间超过8小时且大于之前的最大时间
maxTotalHours = totalHours; // 更新最大总时间
unhappyDay = day; // 更新最不高兴的一天
}
}
System.out.println(unhappyDay); // 输出最不高兴的一天
}
}
Python求解:
max_total_hours = 0 # 保存最大的总时间
unhappy_day = 0 # 保存最不高兴的一天
for day in range(1, 8):
hours1, hours2 = map(int, input().split()) # 输入每天两节课的时间
total_hours = hours1 + hours2 # 总时间
if total_hours > max_total_hours and total_hours > 8: # 如果总时间超过8小时且大于之前的最大时间
max_total_hours = total_hours # 更新最大总时间
unhappy_day = day # 更新最不高兴的一天
print(unhappy_day) # 输出最不高兴的一天
c语言求解:
#include <stdio.h>
int main() {
int max_total_hours = 0; // 保存最大的总时间
int unhappy_day = 0; // 保存最不高兴的一天
for (int day = 1; day < 8; day++) {
int hours1, hours2;
scanf("%d %d", &hours1, &hours2); // 输入每天两节课的时间
int total_hours = hours1 + hours2; // 总时间
if (total_hours > max_total_hours && total_hours > 8) { // 如果总时间超过8小时且大于之前的最大时间
max_total_hours = total_hours; // 更新最大总时间
unhappy_day = day; // 更新最不高兴的一天
}
}
printf("%d\n", unhappy_day); // 输出最不高兴的一天
return 0;
}
c++求解:
#include <iostream>
int main() {
int maxTotalHours = 0; // 保存最大的总时间
int unhappyDay = 0; // 保存最不高兴的一天
for (int day = 1; day < 8; day++) {
int hours1, hours2;
std::cin >> hours1 >> hours2; // 输入每天两节课的时间
int totalHours = hours1 + hours2; // 总时间
if (totalHours > maxTotalHours && totalHours > 8) { // 如果总时间超过8小时且大于之前的最大时间
maxTotalHours = totalHours; // 更新最大总时间
unhappyDay = day; // 更新最不高兴的一天
}
}
std::cout << unhappyDay << std::endl; // 输出最不高兴的一天
return 0;
}