年规定在1900-2050,月规定1-12,还要考虑是否闰年,闰年二月的天数是否正确,不正确则重新输入。本人实习生,整不出来领导要发飙了,这是一个通讯录内容的一部分,输入用户生日,1.name. 2.address. 3.birthyear. 4.birthmonth. 5.birthday
2条回答 默认 最新
- ysuwood 2015-12-14 14:39关注
#include<stdio.h> int isYear(int y) { return y>=1900 && y<=2050; } int isMonth(int m) { return m>=1 && m<=12; } int isOK(int y, int m, int d) { if(y<1900 || y>2050) return 0; if(m<1 || m>12) return 0; switch(d) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return d>=1 && d<=31; case 4: case 6: case 9: case 11: return d>=1 && d<=30; case 2: if((y/4==0&&y/100!=0)||(y/400==0)) return d>=1 && d<=29; else return d>=1 && d<=28; } return 0; } int main(void) { int y,m,d; do { printf("请输入年月日:"); scanf("%d%d%d",&y,&m,&d); }while(isOK(y,m,d)!=1); printf("%d-%d-%d\n",y,m,d); return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 MATLAB动图问题
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题