c语言计算某年某月某日是一年中的第几天

#include<stdio.h>
main()
{
int yy, mm, dd, len, ord;
printf("year,month,day=");
scanf_s("%d%d%d",&yy,&mm,&dd);
switch (mm)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:len = 31; break;
case 4:
case 6:
case 9:len = 30; break;
case 2:
if ((yy%4==0&&yy%100!=0)||(yy%400==0))len = 29;
else len = 28; break;
default:printf("month input error"); return;
}
if ((dd>ord)||(dd<=0))
{
printf("day input error");
return;
}
ord = 0;
switch (mm-1)
{
case 11:ord += 30;
case 10:ord += 31;
case 9:ord += 30;
case 8:ord += 31;
case 7:ord += 31;
case 6:ord += 30;
case 5:ord += 31;
case 4:ord += 30;
case 3:ord += 31;
case 2:ord += len;
case 1:ord += 31;
}
ord=ord + dd;
printf("%d月%d日是%d年的第%d天\n", mm, dd, yy, ord);
}
报错啊 说ord未初始化什么的 求解!!

#include <stdio.h>

int main(int argc, char *argv[])
{

int y,m,d;
int sum=0;
int flog;
printf("请输入年月日(yyyy-mm-dd)\n");
scanf("%4d-%2d-%2d",&y,&m,&d);
if(( y%4==0 && y%100!=0 ) || y%400==0)
flog=1;
else
flog=0;
while((y<0)||(m>12||m<0)||(d<0||d>31)||((m%2==0)&&(d==31))||((flog==1)&&(m==2)&&(d>28)))
{
printf("input errro!\n");
printf("请输入年月日(yyyy-mm-dd)\n");
scanf("%4d-%2d-%2d",&y,&m,&d);
}
switch (m-1)
{
case 12: sum+=31;
case 11: sum+=30;
case 10: sum+=31;
case 9: sum+=30;
case 8: sum+=31;
case 7: sum+=31;
case 6: sum+=30;
case 5: sum+=31;
case 4: sum+=30;
case 3: sum+=31;
case 2:
if(flog==1)
sum+=28;
else
sum+=30;
case 1: sum+=31;break;
default:printf("非法月份\n");
break;
}
sum=sum+d;
if(flog==1)
printf("%d 是闰年!\n",y);
printf("这一天是这年的第%d天",sum);
return 0;
}追问

我是想找错误。。并修改

追答

if ((dd>ord)||(ddord,ord是什么值??要等于多少?

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