求这一年的第几天C语言程序,(输入年月日,输出是这一年的第几天)c语言程序...

做为一个学c语言的新手,今天学习了switch语句。当时老师说case语句后面如果不跟break;会按照顺序执行,而这种结构也有它的优点,通过今天对这个程序的编写,也对switch有了全新的认识;

/* 请分别输入年月日三个数值,计算出这是这一年的第几天? (提示:要考虑闰年和2月的情况) */ #include 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); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值