题目:输入某年某月,判断这一天是这一年的第几天?
分析:
1.输入printf与scanf对应哦! 记得&这个符号
2.判断:switch语句---多分支结构 ---用来判断月份天数
switch(表达式){ case 整型数值1: 语句 1; case 整型数值2: 语句 2; ...... case 整型数值n: 语句 n; default: 语句 n+1; }3.判断:if语句---判断闰年平年
4.一年的第几天:
首先需要判断闰年和平年因为天数不一样;
判断是第几个月,每个月天数也不一样。
先尝试去做简单的:判断是平年还是闰年
#includeint main(){ int year; printf("Input this year:"); scanf("%d",&year); if((year%4==0&&year%100==0)||year%400==0){ printf("%dyes!n",year);} else{ printf("%dno!n",year); } return 0; }
再去做这个题,加上月份的就可以了
#includeint main(){ int year,month,day; int sum=0; int leap=0; printf("Input this day(格式例如2022,5,12):"); scanf("%d,%d,%d",&year,&month,&day); switch(month){ case 1:printf("1月份n");sum=0;break; case 2:printf("2月份n");sum=31;break; case 3:printf("3月份n");sum=59;break; case 4:printf("4月份n");sum=90;break; case 5:printf("5月份n");sum=120;break; case 6:printf("6月份n");sum=151;break; case 7:printf("7月份n");sum=181;break; case 8:printf("8月份n");sum=218;break; case 9:printf("9月份n");sum=242;break; case 10:printf("10月份n");sum=273;break; case 11:printf("11月份n");sum=303;break; case 12:printf("12月份n");sum=334;break; default:printf("holiday");break; } if((year%4==0&&year%100==0)||year%400==0){ leap=1; } else{ leap=0; } if(leap==1&&month>2){ sum=sum+1;//如果是闰年且月份大于2则总年数在加上一天 } sum=sum+day; printf("总天数为%dn",sum); return 0; }



