题目来源
题目考点
枚举 暴力
题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入包括 77 行数据,分别表示周一到周日的日程安排。每行包括两个小于 1010 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 00,如果会则输出最不高兴的是周几(用 1, 2, 3, 4, 5, 6, 71,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
输入输出样例
输入 #1
5 3 6 2 7 2 5 3 5 4 0 4 0 6
输出 #1
3
题解
第一种想法:比较简单,用到一个长度为7的一维数组来代表津津每天上课的时间,如果每天上课的时间都小于等于8小时,直接输出0。
不是的话就找出7天内最长的上课时间,再遍历这个数组,输出第一个出现最长上课时间的日期。
代码如此下:
#include "stdio.h"
int main()
{
int a, b, c[7],i,max=0,counter=0;
for (i = 0; i < 7; i++)
{
scanf("%d %d", &a, &b);
c[i] = a + b; //每天上课时间
if (c[i] > 8) //判断是否开心
counter++;
if (c[i] > max) //寻找最大值
max = c[i];
}
if (counter == 0) //开心的情况
printf("%d\n", 0);
else //不开心的情况
{
for (i = 0; i < 7; i++) //接下来遍历这个数组
{
if (c[i] == max)
{
printf("%d\n", i + 1);
//输出第一个出现最大值的日期
break;
}
}
}
return 0;
}