题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入包括 77 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 00,如果会则输出最不高兴的是周几(用 1,2,3,4,5,6,71,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
输入输出样例
输入
5 3 6 2 7 2 5 3 5 4 0 4 0 6
输出
3
解析:
看到输入格式,有7组数据,并且两个数据有空格,因此我们的输入格式是:scanf(”%d %d“,a,b);a,b是我们定义的两个变量,注意两个%d之间有空格。但是我们需要7组数据,所以我们可以定义一个循环变量i:for(i=1;i<8;i++)从而输入7组数据分别为学校的上课时间与妈妈安排的时间。根据题意我们需要将学校上课时间与妈妈安排的时间进行相加,定义一个变量s来装时间和,所以每天的s我们就算出来了。
最重要的来了,我们定义day=0(即代表星期几),sum=0,if(s>sum&&s>8),sum=s;day=i;即如果我们有大于8的s存在,就将s赋值给sum,i=day。输出day即可。注意点:1,我们将day赋初值0是因为,上述的if条件不存在,day=0不变,最后输出的day依然是0,符合题目的要求。2,为何将s赋值给sum?是因为题目说如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天,我们将s赋值给sum,意味着我们总能找到最大的哪一个,且如果有相同的,也不影响输出结果,依然正确!
话不多说,直接上代码:
#include<stdio.h>
int main()
{
int a, b, sum = 0, s, day = 0, i;
for (i = 1; i < 8; i++)
{
scanf("%d %d", &a, &b);
s = a + b;
if ((s > sum) && (s > 8))
{
sum = s;
day = i;
}
}
printf("%d", day);
return 0;
}