C语言中输入年月日,判断这一天是一年的第几天
在这里我教大家C语言中使用代码实现“输入年月日,判断这一天是一年的第几天”
操作方法
- 01
定义年月日和其他变量 int day,month,year,sum,leap;
- 02
输出:please input year,month,day;告诉用户输入年月日 printf("\nplease input year,month,day\n");
- 03
获取键盘输入的字符,用十进制定义 scanf("%d,%d,%d",&year,&month,&day);
- 04
计算某月以前月份的总天数 switch(month){ 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; defaultrintf("data error");break; }
- 05
加上某天的天数;判断是不是闰年 sum=sum+day; if(year%400==0||(year%4==0&&year%100!=0)) leap=1; else leap=0;
- 06
如果是闰年且月份大于2,总天数应该加一天;sum自加 if(leap==1&&month>2sum++;
- 07
输出变量 printf("It is the %dth day.",sum); }
- 08
全部代码 main() { int day,month,year,sum,leap; printf("\nplease input year,month,day\n"); scanf("%d,%d,%d",&year,&month,&day); switch(month){ 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; defaultrintf("data error");break; } sum=sum+day; if(year%400==0||(year%4==0&&year%100!=0)) leap=1; else leap=0; if(leap==1&&month>2)sum++; printf("It is the %dth day.",sum); }