不高兴的津津
题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入包括 7 7 7 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 10 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 0 0 0,如果会则输出最不高兴的是周几(用 1 , 2 , 3 , 4 , 5 , 6 , 7 1, 2, 3, 4, 5, 6, 7 1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
样例 #1
样例输入 #1
5 3
6 2
7 2
5 3
5 4
0 4
0 6
样例输出 #1
3
"Method1:mine"
#include<stdio.h>
void sort(int arr[], int length)
{
int __switch__;
for (int i = 0; i < length - 1; i++)
{
for (int j = i + 1; j < length; j++)
{
if (arr[i] > arr[j])
{
__switch__ = arr[i];
arr[i] = arr[j];
arr[j] = __switch__;
}
}
}
}
int main(void)
{
int arr[7], brr[7];
int a, b, sum;
for (int i = 0; i < 7; i++)
{
scanf("%d %d", &a, &b);
sum = a + b;
arr[i] = sum;
}
for (int j = 0; j < 7; j++)
{
brr[j] = arr[j];
}
sort(brr, 7);
if (brr[6] <= 8) printf("0");
else
{
for (int s = 0; s < 7; s++)
{
if (arr[s] == brr[6])
{
printf("%d", s + 1);
break;
}
}
}
return 0;
}
"Method2:"
int main(void)
{
int a,b; //a:学校学习小时,b:课外学习小时
int max_time = 0; //当前最大学习总时间
int answer = 0; //答案:周几最不高兴
for(int i = 0;i < 7;++i)
{
scanf("%d %d",&a,&b); //读入第i+1天的学校学习小时与课外学习小时
if(a + b > max_time && a + b > 8)
{
answer = i + 1; //更新答案为当前星期
max_time = a + b; //更新最大值
}
}
printf("%d",answer); //打印答案
return 0;
}