当前热文:c语言根据用户输入的出生年份并计算出当前年龄
(资料图片)
目录
代码一代码二代码三代码四询问用户的出生年份并计算他们在当年的年龄。
代码一
#include#define CURRENTYEAR 2023 int main() { int yearBorn, age; printf("What year were you born?\n"); scanf(" %d", &yearBorn); if (yearBorn > CURRENTYEAR){ printf("wrong input!\n"); printf("What year were you born?\n"); scanf(" %d", &yearBorn); } age = CURRENTYEAR - yearBorn; printf("\nSo this year you will turn %d on your birthday!\n",age); if ((yearBorn % 4) == 0){ printf("\nYou were born in a Leap Year--cool!\n"); } return 0; }
代码二
输入当前日期,生日 计算你现在年龄
#includeint main() { int y0,m0,d0; int y1,m1,d1; int y,m,d; printf("请输入学生的生日(年:y0.月:m0.日:d0)\n"); printf("请输入当前日期(年:y0.月:m0.日:d0)\n"); scanf("%d%d%d",&y0,&m0,&d0); scanf("%d%d%d",&y1,&m1,&d1); if(d1 代码三
输入一个人的出生年月日及当前年月日求那个人现在的年龄,注意平年、闰年的判断。
#include//定义了三个变量类型、一些宏和各种函数来执行输入和输出 int main() { int year, month, day, newyear, newmonth, newday, wang; //定义出生和当前的年、月、日 printf("请输入生日(包含年月日,请用空格隔开):\n"); scanf_s("%d %d %d", &year, &month, &day); printf("请输入当前日期(包含年月日,请用空格隔开):\n"); scanf_s("%d %d %d", &newyear, &newmonth, &newday); wang = newyear - year; //用当前年份减去出生年份,并赋值给wang if (newmonth - month > 0) { //如果出生月份大于当前月份,则直接输出 printf("当前年龄为:\n"); printf("%d\n", wang); } else { if (newmonth - month == 0) { //如果月份相减等于0,则执行日的判断 if (newday >= day) { //如果当前日大于出生的日,则输出 printf("当前年龄为:\n"); printf("%d\n", wang); } else { printf("当前年龄为:\n"); printf("%d\n", wang - 1); //如果日期相减条件为假,则wang减去1 } } else { printf("当前年龄为:\n"); printf("%d\n", wang - 1); //如果月份相减条件为假,则wang减去1 } } return 0; } 代码四
根据出生日期计算年龄或者根据身份证号计算年龄
可以把这个方法写成一个工具类方便以后在项目中调用,以下是写好的方法可以直接拿去用
注:(此方法计算的是虚岁年龄不是实岁年龄)//根据身份证号计算年龄 //身份证号 //String certNo = "430181200003161010"; //String birthTimeString = certN.substring(6,10)+"-"+certNo.substring(10,12)+"-"+certNo.substring(12,14); //生日日期 String birthTimeString = "2022-03-16"; // 先截取到字符串中的年、月、日 String strs[] = birthTimeString.trim().split("-"); int selectYear = Integer.parseInt(strs[0]); int selectMonth = Integer.parseInt(strs[1]); int selectDay = Integer.parseInt(strs[2]); // 得到当前时间的年、月、日 Calendar cal = Calendar.getInstance(); int yearNow = cal.get(Calendar.YEAR); int monthNow = cal.get(Calendar.MONTH) + 1; int dayNow = cal.get(Calendar.DATE); // 用当前年月日减去生日年月日 int yearMinus = yearNow - selectYear; int monthMinus = monthNow - selectMonth; int dayMinus = dayNow - selectDay; int age = yearMinus;// 先大致赋值 if (yearMinus < 0) {// 选了未来的年份 age = 0; } else if (yearMinus == 0) {// 同年的,要么为1,要么为0 if (monthMinus < 0) {// 选了未来的月份 age = 0; } else if (monthMinus == 0) {// 同月份的 if (dayMinus < 0) {// 选了未来的日期 age = 0; } else if (dayMinus >= 0) { age = 1; } } else if (monthMinus > 0) { age = 1; } } else if (yearMinus > 0) { if (monthMinus < 0) {// 当前月>生日月 } else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄 if (dayMinus < 0) { } else if (dayMinus >= 0) { age = age + 1; } } else if (monthMinus > 0) { age = age + 1; } } System.out.println(age );到此这篇关于c语言根据用户输入的出生年份并计算出当前年龄的文章就介绍到这了,更多相关c语言计算年龄内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
关键词:
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?