写C++时出现Output Limit Exceeded
解决时间 2021-02-14 10:00
- 提问者网友:wodetian
- 2021-02-14 00:43
#include
using namespace std;
int main(){
int y,m,d;
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i=1;
while(scanf("%d/%d/%d",&y,&m,&d)){
int x=d;
if(y%4==0&&y%100!=0||y%400==0){ month[2]=29;}
while(i x=x+month[i];
i=i+1;
}
printf("%d\n",x);
}
return 0;
}
最佳答案
- 五星知识达人网友:平生事
- 2021-02-14 01:58
是不是while(scanf ( "%d/%d/%d" , & y , & m , & d ) ) { 这一行的问题
当scanf语句没有读到值时返回EOF(-1 ),不会返回0
应改为scanf ( "%d/%d/%d" , & y , & m , & d ) != EOF
全部回答
- 1楼网友:不甚了了
- 2021-02-14 02:45
1. 你这个 while(1) 循环没有终止条件,所以没法终止程序,就会报output limit exceeded 2. 这个题目的输入结束标志是什么?lz去看一下,题目中肯定有,加在这层循环中即可。 3. 如有问题lz可追问。
我要举报
大家都在看
推荐资讯