通过键盘输入某年某月某日,计算并输出这一天是这一年的第几天。
通过键盘输入某年某月某日,计算并输出这一天是这一年的第几天。例如, 2001 年3月 5 日是这一年的第 64 天。
注意:使用分支结构语句实现。
switch:
#include <stdio.h>
void main()
{
printf("请输入年 月 日:");
int year, month, day; //定义年月日变量
int s = 0; //定义结果变量
scanf("%d %d %d", &year,&month,&day); //从控制台输入内容到变量
switch(month)
{
case 12: s+=30; //加上11月的30天
case 11: s+=31; //加上10月的31天
case 10: s+=30; //加上 9月的30天
case 9: s+=31;
case 8: s+=31;
case 7: s+=30;
case 6: s+=31;
case 5: s+=30;
case 4: s+=31;
case 3: s+=28; //先按平年算,加上2月的28天
case 2: s+=31; //加上 1月的31天
case 1: s+=day; //加上当月天数
}
if:
#include <stdio.h>
void main()
{
printf("请输入年 月 日:");
int year, month, day; //定义年月日变量
int s = 0; //定义结果变量
scanf("%d %d %d", &year,&month,&day); //从控制台输入内容到变量
if(month==12&&month==10&month==7&&month==5) {
s+=30;
}else if(month==11&&month==9&month==8&&month==6&&month==4&&month==2) {
s+=31;
}else if(month==3) {
s+=28;
}else if(month==1) {
s+=day;
}
if((year%4==0 && year%100!=0 || year%400==0) && month>=3){
s++;
}
printf("%d年%d月%d日是这一年的第%d天。\n",year, month, day, s);
return;
}
效果图:
switch语句的基本格式:
switch(表达式)
{
case 常量1:语句1
case 常量2:语句2
default:语句n
break;
}
流程图: