津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
Input
输入包括多组测试数据,每组测试数据输入七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
Output
对应每组输入数据,输出包括一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1, 2, 3, 4, 5, 6, 7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
Sample Input
5 3
6 2
7 2
5 3
5 4
0 4
0 6
Sample Output
3
#include<stdio.h>
main()
{
int i,j,m=8,n;
int a[7][2],b[7];
int c;
scanf("%d",&c);
for(i=1;i<=c;i++)
{
printf("Plesae input monday to sunday plan:\n");
for(i=0;i<7;i++)
{
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<7;i++)
b[i]=a[i][0]+a[i][1];
for(i=0;i<7;i++)
{
if(b[i]>m)
{ m=b[i];
n=i;
}
}
if(m==8)printf("0\n");
else printf("%d",n+1);
}
}
这样输入没问题
main(){
int i,j,m=8,n;
int a[7][2],b[7];
int c;
scanf("%d",&c);
for(i=1;i<=c;i++) {
m=8;//改动
printf("Plesae input monday to sunday plan:\n");
for(i=0;i<7;i++) {
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<7;i++)
b[i]=a[i][0]+a[i][1];
for(i=0;i<7;i++)
{
if(b[i]>m)
{
m=b[i];
n=i;
}
}
if(m==8)printf("0\n");//改动
else printf("%d",n+1);
}
}追问
怎么改 我想不出来
追答因为m在执行过程中改动了。
所以只要在开始的时候给他赋初值就好了。
具体的位置见上面的答案。
不懂可以追问哦~
我把上面的重新运行了下 也是错的啊。
追答#include
main(){
int i,j,m=8,n;
int a[7][2],b[7];
int c;
scanf("%d",&c);
for(int k=1;km)
{
m=b[i];
n=i;
}
}
if(m==8)printf("0\n");
//改动
else printf("%d",n+1);
}
}
行了耶。可是为什么改成K就可以了。 当是I的时候也是从1开始的啊。
追答后面用了i啊
本回答被提问者和网友采纳