为什么会出现Output Limit Exceed

来源:百度知道 编辑:UC知道 时间:2024/07/01 00:58:32
#include<stdio.h>

int test(int y){
int a;
a=y%4==0&&y%100!=0||y%400==0;
return a;
}
int sum_day(int x,int y){
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i;
for(i=1;i<x;i++)
y+=day_tab[i];
return y;
}
int main(){
int i,j,k;
int a,day;
scanf("%d-%d-%d",&i,&j,&k);
while(i&&j&&k){
a=test(i);
day=sum_day(j,k);
if(a&&j>=3)
day=day+1;
printf("%d",day);
scanf("%d-%d-%d",&i,&j,&k);
}
return 0;
}
这个程序我自己在运行时 结果是正确的 可是在提交acm 中就是出现 output limited exceed
请各位高手帮我找找原因
谢了。。

你输入数据输入错了
scanf("%d-%d-%d",&i,&j,&k);
应该也只能这样输入:34-23-43 回车
即中间要加横线,如果不想这样的话,可以改:
scanf("%d%d%d",&i,&j,&k);
以后想输入3个数,可以这样:34 23 43 回车
也可以这样输入:
34 回车
23 回车
43 回车
方便了很多,也不容易错