C语言的题目如下 。 我想要连着输入多组的数据, 但是不行, 求高人指教啊

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
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);
}
}

第1个回答  2013-03-02

这样输入没问题

第2个回答  2013-03-02
#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++) {
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啊

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网