初莫M 发表于 2023-9-27 18:03:41

求帮忙看一下代码错在哪了

题目要求是输入年月日,运行程序后判断这一天是这一年的第几天
我写的代码是
#include<stdio.h>
int main()
{
    int year,mon,day,t;
    scanf("%d%d%d",&year,&mon,&day);
    int sum=0;
    switch(mon)
    {
      case 1:sum=0;break;
      case 2:sum=31;break;
      case 3:sum=59;break;
      case 4:sum=90;break;
      case 5:sum=120;break;
      case 6:sum=151;break;
      case 7:sum=181;break;
      case 8:sum=212;break;
      case 9:sum=243;break;
      case 10:sum=273;break;
      case 11:sum=304;break;
      case 12:sum=334;break;
    }
    sum=sum+day;
    if(year%400==0||(year%4==0&&year%100!=0))
      t=1;
    else t=0;
    if(t==1&&mon>2)
      sum++;
    printf("%d",sum);
}
测试的几个数据是成功的但是在学校平台上显示答案错误

isdkz 发表于 2023-9-27 18:03:48

代码逻辑上没有问题,但是可能是因为学校平台的输入格式和你测试的输入格式不一致导致的错误。建议你检查一下输入格式是否正确,例如是否有空格、换行等额外字符。另外,建议你在程序开头加上一个提示,告诉用户输入的格式,以避免输入错误。

初莫M 发表于 2023-9-27 18:05:57

isdkz 发表于 2023-9-27 18:03
代码逻辑上没有问题,但是可能是因为学校平台的输入格式和你测试的输入格式不一致导致的错误。建议你检查一 ...

谢谢谢谢 学校平台对输入格式也有要求
输出格式应该没错 平台显示我的答案是错误的(
页: [1]
查看完整版本: 求帮忙看一下代码错在哪了