(输入年月日,输出是这一年的第几天)c语言程序
2014-09-15 23:03
399 查看
做为一个学c语言的新手,今天学习了switch语句。当时老师说case语句后面如果不跟break;会按照顺序执行,而这种结构也有它的优点,通过今天对这个程序的编写,也对switch有了全新的认识;
/*
请分别输入年月日三个数值,计算出这是这一年的第几天?
(提示:要考虑闰年和2月的情况)
*/
#include <stdio.h>
void main()
{
int year=0,month=0,day=0,i=0,sum=0;
while(1)
{
printf("请输入年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
printf("请输入日期:");
scanf("%d",&day);
i=0; //i变量是为了控制月和日的格式是否输入正确;
switch(month)
//判断每个月的日期是否输入正确;
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day>0&&day<=31)
{
i=1;
}
break;
case 4:
case 6:
case 9:
case 11:
if(day>0&&day<=30)
{
i=1;
}
break;
case 2:
//2月闰年可以输入29日;
if((year%4==0&&year%100!=0)||year%400==0)
{
if(day>0&&day<=29)
{
i=1;
}
}
else
{
if(day>0&&day<=28)
{
i=1;
}
}
break;
default:
//如果输入不是1-12月份,那么月份输入有误;
i=0;
break;
}
if(i) //如果i变量为1,那么输入正确,否则重新输入;
{
break;
}
else
{
printf("请输入正确的年月日!!!\n");
}
}
i=0;
switch(month)
//把每个月的日期累加;
{
case 12:
i=i+30;
case 11:
i=i+31;
case 10:
i=i+30;
case 9:
i=i+31;
case 8:
i=i+31;
case 7:
i=i+30;
case 6:
i=i+31;
case 5:
i=i+30;
case 4:
i=i+31;
case 3:
if((year%4==0&&year%100!=0)||year%400==0)
{
i=i+29;
}
else
{
i=i+28;
}
case 2:
i=i+31;
case 1:
;
}
sum=i+day;
printf("%d年%d月%d日是%d年的第%d天\n!",year,month,day,year,sum);
}
/*
请分别输入年月日三个数值,计算出这是这一年的第几天?
(提示:要考虑闰年和2月的情况)
*/
#include <stdio.h>
void main()
{
int year=0,month=0,day=0,i=0,sum=0;
while(1)
{
printf("请输入年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
printf("请输入日期:");
scanf("%d",&day);
i=0; //i变量是为了控制月和日的格式是否输入正确;
switch(month)
//判断每个月的日期是否输入正确;
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day>0&&day<=31)
{
i=1;
}
break;
case 4:
case 6:
case 9:
case 11:
if(day>0&&day<=30)
{
i=1;
}
break;
case 2:
//2月闰年可以输入29日;
if((year%4==0&&year%100!=0)||year%400==0)
{
if(day>0&&day<=29)
{
i=1;
}
}
else
{
if(day>0&&day<=28)
{
i=1;
}
}
break;
default:
//如果输入不是1-12月份,那么月份输入有误;
i=0;
break;
}
if(i) //如果i变量为1,那么输入正确,否则重新输入;
{
break;
}
else
{
printf("请输入正确的年月日!!!\n");
}
}
i=0;
switch(month)
//把每个月的日期累加;
{
case 12:
i=i+30;
case 11:
i=i+31;
case 10:
i=i+30;
case 9:
i=i+31;
case 8:
i=i+31;
case 7:
i=i+30;
case 6:
i=i+31;
case 5:
i=i+30;
case 4:
i=i+31;
case 3:
if((year%4==0&&year%100!=0)||year%400==0)
{
i=i+29;
}
else
{
i=i+28;
}
case 2:
i=i+31;
case 1:
;
}
sum=i+day;
printf("%d年%d月%d日是%d年的第%d天\n!",year,month,day,year,sum);
}
相关文章推荐
- 程序显示无错误,为何运行无结果输入年月日,输出是一年中第几天
- 用js实现输入年月日输出这一天是这一年的第几天
- 输入年月日,输出这是一年中的第几天
- 输入年月日判断这是一年中的第几天.
- 请分别输入年月日三个数值,计算出这是这一年的第几天?
- 输入年月日,输出是该年的第几天 法二
- 输入年月日输出该日期是当年的第几天的java代码
- js判断输入的年月日是一年中的第几天
- 输入年月日, 计算该日是这一年中的第几天
- 输入一个年月日,输出是指定日期是这一年的第几天--蘑菇街面经
- 用C语言来实现_输入一个日期(年月日),计算是这一年中的第几天(集思广议)
- 编写程序,要求输入年月日,输出该日是本年中的第几天
- 输入年月日,返回这一年的第几天
- 请分别输入年月日三个数值,计算出这是这一年的第几天? (提示:要考虑闰年和2月的情况)
- 用C语言来实现_输入一个日期(年月日),计算是这一年中的第几天
- 完善ing——输入年月日输出这一年为该年的第多少天
- 输入某年某月某日,计算并输出它是这一年的第几天
- 输入年月日并在终端上打印这是一年中的第几天
- 输入年月日,输出这个日期是该年的第几天,java语言,switch-case实现
- 输入年月日输出是该年的第几天