饥饿的半导体 2022-06-04 11:33 采纳率: 85.7%
浏览 90
已结题

C语言计算日期使该年的第几天

C语言计算日期使该年的第几天
不能正常运行,请问是哪里出错了??

#include <stdio.h>

int main()
{
    int year,month,day;
    printf("请依次输入年/月/日:");
    scanf("%d/%d/%d",year,month,day); 
    int fun(int a, int b, int c);
    day=fun(year,month,day);
    printf("该日期是该年的第%d天",day);
    return 0;
} 
int fun(int a, int b, int c)
{
    int i,d=0;
    for(i=0;i<b;i++)
    {
        if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
        d=d+31;
        else if(i==2)
        {
            if ("a%4==0&&a%100==0||a%400==0")
            d=d+29;
            else
            d=d+28;
        }
        else
        d=d+30;
    }
    c=d+c;    
    return c;
}
  • 写回答

3条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-06-04 11:42
    关注

    img


    改好了

    
    #include <stdio.h>
     
    int main()
    {
        int year,month,day;
        printf("请依次输入年/月/日:");
        scanf("%d/%d/%d",&year,&month,&day); 
        int fun(int a, int b, int c);
        day=fun(year,month,day);
        printf("该日期是该年的第%d天",day);
        return 0;
    } 
    int fun(int a, int b, int c)
    {
        int i,d=0;
        for(i=0;i<b;i++)
        {
            if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
            d=d+31;
            else if(i==2)
            {
                if ("a%4==0&&a%100==0||a%400==0")
                d=d+29;
                else
                d=d+28;
            }
            else
            d=d+30;
        }
        c=d+c;    
        return c;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月4日
  • 已采纳回答 6月4日
  • 创建了问题 6月4日

悬赏问题

  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢
  • ¥15 vxworks交叉编译gcc报错error: missing binary operator before token "("
  • ¥15 JSzip压缩文件时如何设置解压缩密码