永发信息网

杭电acm2005题我的答案为啥不对

答案:2  悬赏:10  手机版
解决时间 2021-02-07 03:19
  • 提问者网友:星軌
  • 2021-02-06 19:12
#include
int main()
{int a,b,c;
while((~scanf("%d/%d/%d",&a,&b,&c)))
{int sum=0;
switch(b)
{case 12:sum=30;
case 11:sum=sum+31;
case 10:sum=sum+30;
case 9:sum=sum+30;
case 8:sum=sum+31;
case 7:sum=sum+30;
case 6:sum=sum+31;
case 5:sum=sum+30;
case 4:sum=sum+31;
case 3:sum=sum+28;
case 2:sum=sum+31;
case 1:sum=sum+c;
}
if(a%4==0&&a%100!=0||a%400==0)
if(b>2)
sum=sum+1;
else sum=sum;
printf("%d\n",sum);}
}
最佳答案
  • 五星知识达人网友:拾荒鲤
  • 2021-02-06 19:38
#include
int main()
{int a,b,c;
while((~scanf("%d/%d/%d",&a,&b,&c)))
{int sum=0; 
switch(b)
{case 12:sum=30;
 case 11:sum=sum+31;
 case 10:sum=sum+30;
 case 9:sum=sum+31;//8月份有31天!!!
 case 8:sum=sum+31;
 case 7:sum=sum+30;
 case 6:sum=sum+31;
 case 5:sum=sum+30;
 case 4:sum=sum+31;
 case 3:sum=sum+28;
 case 2:sum=sum+31;
 case 1:sum=sum+c;
}
if(a%4==0&&a%100!=0||a%400==0)
  if(b>2)
     sum=sum+1;
else sum=sum;
printf("%d\n",sum);}
}就错了一个小地方……
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-02-06 20:23
首先我要说的是你在acm上现在的水平是0 至于为什么:acm的要求是必须严格按照要求输出这是最基础的也是最重要的,但是你似乎根本都没注意到这。严格到什么程度我给你举个例子: output: case : 1 2 case : 2 9 你必须用试的方式找出case和":", ":"和数值,以及数值和数值之间各有几个空格。 关于a+b这种题目就是让你掌握如何依据题目给的输入输出写相应的程序,你可以认真分析一下给做对人的答案。 因为你没给出相应题目的输入,输出格式所以我也不好在这里给出答案。 acm是很诱人的但是这条路是很艰辛的,祝你成功,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯