c语言输入一个日期计算是这年的那一天

我已经写了一点了,但结果还是错的
#include<stdio.h>
void main(){
int nian,yue,ri,a,b;
printf("输入年月日\n");
scanf("%d%d%d",&nian,&yue,&ri);
switch(yue){
case 1:b=0;break;
case 2:b=31;break;
case 3:b=59;break;
case 4:b=90;break;
case 5:b=120;break;
case 6:b=151;break;
case 7:b=181;break;
case 8:b=212;break;
case 9:b=243;break;
case 10:b=273;break;
case 11:b=304;break;
case 12:b=334;break;
default:
printf("输入错误 \n");
}
b=b+ri;
if(yue==2){
b=nian%400==0||nian%4==0&&nian%100!=0?29:28;
}
printf("%d\n",b+ri);

}

#include<stdio.h>
void main(){
int nian,yue,ri,a,b;
printf("输入年月日\n");
scanf("%d%d%d",&nian,&yue,&ri);
switch(yue){
case 1:b=0;break;
case 2:b=31;break;
case 3:b=59;break;
case 4:b=90;break;
case 5:b=120;break;
case 6:b=151;break;
case 7:b=181;break;
case 8:b=212;break;
case 9:b=243;break;
case 10:b=273;break;
case 11:b=304;break;
case 12:b=334;break;
default:
printf("输入错误 \n");
}
b=b+ri;

if (yue > 2)//如果月份大于2月,且是闰年,加一天
if (nian%400==0||nian%4==0&&nian%100!=0)
++b;

printf("%d\n",b);
}

温馨提示:答案为网友推荐,仅供参考
相似回答