注册 登录
编程论坛 WEB前端(UI)

c语言 输入该年月日,求是第几天

星野 发布于 2016-05-22 08:32, 5670 次点击
#include<stdio.h>
int main()
{
    int riqi(int,int,int);
    int year,month,day,c;
    printf("请输入年月日");
    scanf("%d %d %d",&year,&month,&day);
    c=riqi(year,month,day);
    printf("%d\n",c);
    return 0;
}
int riqi(int year,int month,int day)
{
    int z=0;
    int i;
    int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    for(i=1;i<month;i++)
    {
        z=z+a[i];
    }
    if((year%4==0&&year%100!=0||year%400==0)&&month>=3)
        z=z+1;
    return z;
}


结果不对,帮我看看哪里不对啊
2 回复
#2
ai你2017-04-10 09:30
数组下标从零开始
你的riqi函数里i的值是1
#3
ai你2017-04-10 10:12
回复 楼主 星野
你还可以试着对日期进行错误判断   比如月份大于12或小于1  日期太大或太小   等进行重新输入
1