题目:输入某年某月,判断这一天是这一年的第几天?
分析:
1.输入printf与scanf对应哦!? 记得&这个符号
2.判断:switch语句---多分支结构 ---用来判断月份天数
switch(表达式){
case 整型数值1: 语句 1;
case 整型数值2: 语句 2;
......
case 整型数值n: 语句 n;
default: 语句 n+1;
}
3.判断:if语句---判断闰年平年
4.一年的第几天:
? ?首先需要判断闰年和平年因为天数不一样;
? ?判断是第几个月,每个月天数也不一样。
先尝试去做简单的:判断是平年还是闰年
#include<stdio.h>
int 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;
}
再去做这个题,加上月份的就可以了
#include<stdio.h>
int 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("总天数为%d\n",sum);
return 0;
}
|