最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c語(yǔ)言根據(jù)用戶(hù)輸入的出生年份并計(jì)算出當(dāng)前年齡

 更新時(shí)間:2023年03月09日 19:39:54   投稿:mdxy-dxy  
這篇文章主要介紹了c語(yǔ)言根據(jù)用戶(hù)輸入的出生年份并計(jì)算出當(dāng)前年齡,需要的朋友可以參考下

詢(xún)問(wèn)用戶(hù)的出生年份并計(jì)算他們?cè)诋?dāng)年的年齡。

代碼一

#include <stdio.h>
#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;
}

代碼二

輸入當(dāng)前日期,生日 計(jì)算你現(xiàn)在年齡

#include<stdio.h>
int main()
{
    int y0,m0,d0;
    int y1,m1,d1;
    int y,m,d;
    printf("請(qǐng)輸入學(xué)生的生日(年:y0.月:m0.日:d0)\n");
    printf("請(qǐng)輸入當(dāng)前日期(年:y0.月:m0.日:d0)\n");
    scanf("%d%d%d",&y0,&m0,&d0);
    scanf("%d%d%d",&y1,&m1,&d1);
    if(d1<d0)
        {
            m1--;//m1=m1-1,m1-=1
            switch(m1)
            {
            case 2:d=d1+28-d0;break;
            case 4:d=d1+30-d0;break;
            case 6:d=d1+30-d0;break;
            case 9:d=d1+30-d0;break;
            case 11:d=d1+30-d0;break;
            }
        }
    else
            d=d1-d0;
    if(m1<m0)
        {
        y1--;
        m=m1+12-m0;
        }
    else
        {
        m=m1-m0;
        y=y1-y0;
        }

printf("實(shí)際年齡為:年=%d,月=%d,日=%d",y,m,d);
return 0;
}

代碼三

輸入一個(gè)人的出生年月日及當(dāng)前年月日求那個(gè)人現(xiàn)在的年齡,注意平年、閏年的判斷。

#include<stdio.h>                        //定義了三個(gè)變量類(lèi)型、一些宏和各種函數(shù)來(lái)執(zhí)行輸入和輸出

int main() {
    int year, month, day, newyear, newmonth, newday, wang;                        //定義出生和當(dāng)前的年、月、日
    printf("請(qǐng)輸入生日(包含年月日,請(qǐng)用空格隔開(kāi)):\n");
    scanf_s("%d %d %d", &year, &month, &day);
    printf("請(qǐng)輸入當(dāng)前日期(包含年月日,請(qǐng)用空格隔開(kāi)):\n");
    scanf_s("%d %d %d", &newyear, &newmonth, &newday);
    wang = newyear - year;                        //用當(dāng)前年份減去出生年份,并賦值給wang
    if (newmonth - month > 0) {                    //如果出生月份大于當(dāng)前月份,則直接輸出
        printf("當(dāng)前年齡為:\n");
        printf("%d\n", wang);
    }
    else {
        if (newmonth - month == 0) {            //如果月份相減等于0,則執(zhí)行日的判斷
            if (newday >= day) {                //如果當(dāng)前日大于出生的日,則輸出
                printf("當(dāng)前年齡為:\n");
                printf("%d\n", wang);
            }
            else {
                printf("當(dāng)前年齡為:\n");
                printf("%d\n", wang - 1);        //如果日期相減條件為假,則wang減去1
            }
        }
        else {
            printf("當(dāng)前年齡為:\n");
            printf("%d\n", wang - 1);            //如果月份相減條件為假,則wang減去1
        }
    }
    return 0;
}

代碼四

根據(jù)出生日期計(jì)算年齡或者根據(jù)身份證號(hào)計(jì)算年齡

可以把這個(gè)方法寫(xiě)成一個(gè)工具類(lèi)方便以后在項(xiàng)目中調(diào)用,以下是寫(xiě)好的方法可以直接拿去用
注:(此方法計(jì)算的是虛歲年齡不是實(shí)歲年齡)

//根據(jù)身份證號(hào)計(jì)算年齡
//身份證號(hào)
//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]);
// 得到當(dāng)前時(shí)間的年、月、日
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayNow = cal.get(Calendar.DATE);

// 用當(dāng)前年月日減去生日年月日
int yearMinus = yearNow - selectYear;
int monthMinus = monthNow - selectMonth;
int dayMinus = dayNow - selectDay;

int age = yearMinus;// 先大致賦值
if (yearMinus < 0) {// 選了未來(lái)的年份
    age = 0;
} else if (yearMinus == 0) {// 同年的,要么為1,要么為0
    if (monthMinus < 0) {// 選了未來(lái)的月份
        age = 0;
    } else if (monthMinus == 0) {// 同月份的
        if (dayMinus < 0) {// 選了未來(lái)的日期
            age = 0;
        } else if (dayMinus >= 0) {
            age = 1;
        }
    } else if (monthMinus > 0) {
        age = 1;
    }
} else if (yearMinus > 0) {
    if (monthMinus < 0) {// 當(dāng)前月>生日月
    } else if (monthMinus == 0) {// 同月份的,再根據(jù)日期計(jì)算年齡
        if (dayMinus < 0) {
        } else if (dayMinus >= 0) {
            age = age + 1;
        }
    } else if (monthMinus > 0) {
        age = age + 1;
    }
}
System.out.println(age );

到此這篇關(guān)于c語(yǔ)言根據(jù)用戶(hù)輸入的出生年份并計(jì)算出當(dāng)前年齡的文章就介紹到這了,更多相關(guān)c語(yǔ)言計(jì)算年齡內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++野指針和懸空指針的實(shí)現(xiàn)方法

    C++野指針和懸空指針的實(shí)現(xiàn)方法

    野指針和懸空指針是指針中常見(jiàn)的兩個(gè)概念,本文詳細(xì)的介紹了這兩種的使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C++獲得文件狀態(tài)信息的方法

    C++獲得文件狀態(tài)信息的方法

    這篇文章主要介紹了C++獲得文件狀態(tài)信息的方法,包括文件狀態(tài)信息、文件所在磁盤(pán)盤(pán)符、文件創(chuàng)建時(shí)間、訪(fǎng)問(wèn)時(shí)間及修改日期等,需要的朋友可以參考下
    2015-07-07
  • C語(yǔ)言 用while循環(huán)求和的平均值操作

    C語(yǔ)言 用while循環(huán)求和的平均值操作

    這篇文章主要介紹了C語(yǔ)言 用while循環(huán)求和的平均值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • C++容器適配器的概念與示例

    C++容器適配器的概念與示例

    C++?STL(標(biāo)準(zhǔn)模板庫(kù))是一套功能強(qiáng)大的?C++?模板類(lèi),提供了通用的模板類(lèi)和函數(shù),這些模板類(lèi)和函數(shù)可以實(shí)現(xiàn)多種流行和常用的算法和數(shù)據(jù)結(jié)構(gòu),如向量、鏈表、隊(duì)列、棧,今天我們來(lái)探究一下stl容器適配器的使用吧
    2023-01-01
  • C語(yǔ)言深入講解函數(shù)的使用

    C語(yǔ)言深入講解函數(shù)的使用

    各位小伙伴們,今天YU同學(xué)給大家?guī)?lái)的是與函數(shù)相關(guān)的知識(shí),本篇將會(huì)帶著大家初步認(rèn)識(shí)和調(diào)用函數(shù)來(lái)解決一些簡(jiǎn)單的問(wèn)題
    2022-04-04
  • C++拋出和接收異常的順序

    C++拋出和接收異常的順序

    這篇文章主要介紹了C++拋出和接收異常的順序,幫助大家更好的理解和學(xué)習(xí)C++,感興趣的朋友可以了解下
    2020-08-08
  • c++函數(shù)指針使用示例分享

    c++函數(shù)指針使用示例分享

    這篇文章主要介紹了c++函數(shù)指針使用示例,需要的朋友可以參考下
    2014-03-03
  • C語(yǔ)言 makefile學(xué)習(xí)及實(shí)現(xiàn)實(shí)例

    C語(yǔ)言 makefile學(xué)習(xí)及實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了C語(yǔ)言 makefile學(xué)習(xí)及實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Qt創(chuàng)建SQlite數(shù)據(jù)庫(kù)的示例代碼

    Qt創(chuàng)建SQlite數(shù)據(jù)庫(kù)的示例代碼

    本文主要介紹了Qt創(chuàng)建SQlite數(shù)據(jù)庫(kù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C++中平衡二叉搜索樹(shù)的模擬實(shí)現(xiàn)

    C++中平衡二叉搜索樹(shù)的模擬實(shí)現(xiàn)

    二叉搜索樹(shù)雖可以縮短查找的效率,但如果數(shù)據(jù)有序或接近有序二叉搜索樹(shù)將退化為單支樹(shù),查找元素相當(dāng)于在順序表中搜索元素,效率低下,所以本文給大家介紹了C++平衡二叉的搜索樹(shù)模擬實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

尤溪县| 齐河县| 阿荣旗| 南涧| 武陟县| 黑水县| 故城县| 印江| 广安市| 南丰县| 太仓市| 中方县| 奎屯市| 林甸县| 丰都县| 瑞昌市| 金秀| 汶川县| 黄梅县| 金阳县| 余姚市| 稷山县| 太谷县| 江永县| 江永县| 闸北区| 西青区| 大关县| 博罗县| 崇阳县| 安平县| 香港 | 偃师市| 嘉义县| 宝兴县| 浠水县| 和顺县| 内江市| 北辰区| 金山区| 凯里市|