题目53
不高兴的小明
-
描述
-
小明又出问题了。妈妈认为聪明的小明应该更加用功学习而变的更加厉害,所以小明除了上学之外,还要参加妈妈为他报名的各科复习班。另外每周妈妈还会送他去学习朗诵、舞蹈和钢琴。但是小明如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设小明不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下小明下周的日程安排,看看下周他会不会不高兴;如果会的话,哪天最不高兴。
-
输入
-
第一行输入N(0<N<100)表示测试数据组数,接下来每组测试数据输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出
-
每组测试数据输出包括一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的—天。
样例输入
-
1 5 3 6 2 7 2 5 3 5 4 0 4 0 6
样例输出
-
3
-
第一行输入N(0<N<100)表示测试数据组数,接下来每组测试数据输入包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
#include<stdio.h>
#include<string.h>
int day[6],b[6],c[6];
int main(){
int n,x,y,max,i,j,count;
scanf("%d",&n);
while(n--){
count = 0;
//对day[i]赋初值
for(i = 1; i < 8 ; i++){
scanf("%d %d",&x,&y);
day[i] = x+y;
}
//day[i]的值赋给c[i] ,冒泡排序后以便记录。
for(i = 1;i<8; i++)
c[i] = day[i];
//检查有几天小明不高兴
for(i = 1; i<8; i++)
if(day[i]>8)
count++;
if(count == 0)printf("0\n");
else{
//冒泡排序,找最不高兴的一天
for(i = 1; i<8; i++)
for(j = i+1 ;j<8 ;j++)
if(day[i]<day[j]){
int swap=day[i];
day[i] = day[j];
day[j] = swap;
}
//筛选出最先不高兴的一天
max = day[1];
for(i = 1;i<8;i++)
if(c[i] == max){
printf("%d\n",i);
break;
}
}
}
return 0;
}
作为难度1的题,感觉自己写的比较复杂,但总算AC了。