欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

詢問用戶的出生年份并計算他們在當(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)前日期,生日 計算你現(xiàn)在年齡

#include<stdio.h>
int main()
{
    int y0,m0,d0;
    int y1,m1,d1;
    int y,m,d;
    printf("請輸入學(xué)生的生日(年:y0.月:m0.日:d0)\n");
    printf("請輸入當(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("實際年齡為:年=%d,月=%d,日=%d",y,m,d);
return 0;
}

代碼三

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

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

int main() {
    int year, month, day, newyear, newmonth, newday, wang;                        //定義出生和當(dāng)前的年、月、日
    printf("請輸入生日(包含年月日,請用空格隔開):\n");
    scanf_s("%d %d %d", &year, &month, &day);
    printf("請輸入當(dāng)前日期(包含年月日,請用空格隔開):\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ù)身份證號計算年齡

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

//根據(jù)身份證號計算年齡
//身份證號
//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)前時間的年、月、日
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) {// 選了未來的年份
    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) {// 當(dāng)前月>生日月
    } else if (monthMinus == 0) {// 同月份的,再根據(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語言根據(jù)用戶輸入的出生年份并計算出當(dāng)前年齡的文章就介紹到這了,更多相關(guān)c語言計算年齡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中的delete不會將操作數(shù)置0

    C++中的delete不會將操作數(shù)置0

    這篇文章主要介紹了C++中的delete不會將操作數(shù)置0的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Qt5.9實現(xiàn)簡單的多線程實例(類QThread)

    Qt5.9實現(xiàn)簡單的多線程實例(類QThread)

    Qt開啟多線程,主要用到類QThread。用一個類繼承QThread,然后重新改寫虛函數(shù)run()。具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • 利用C語言實現(xiàn)猜數(shù)字游戲

    利用C語言實現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了利用C語言實現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • 深入理解char *a與char a[]的區(qū)別

    深入理解char *a與char a[]的區(qū)別

    很多人可能或多或少知道char *a與char a[]的一些區(qū)別,但如果詳細(xì)的說出來卻不知如何說去,下面這篇文章就給大家詳細(xì)介紹了關(guān)于C語言中char *a與char a[]的區(qū)別,有需要的朋友們可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-12-12
  • C語言示例講解for循環(huán)的用法

    C語言示例講解for循環(huán)的用法

    初學(xué)C語言,常常遇到for循環(huán)中嵌套個for循環(huán),初學(xué)者對于這種形式總是一知半解,這次我就整理了常見的for循環(huán)嵌套for循環(huán)的題目,我們一起爭取一舉拿下這類題。學(xué)廢他們,以后再見到就不怕啦!每天都要學(xué)一點呀。加油,奮斗的我們
    2022-06-06
  • C++算法學(xué)習(xí)之回溯法的應(yīng)用

    C++算法學(xué)習(xí)之回溯法的應(yīng)用

    這篇文章介紹了C++算法中回溯法的一些應(yīng)用,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 淺談C++有理數(shù)的表達(dá)和計算

    淺談C++有理數(shù)的表達(dá)和計算

    這篇文章主要為大家詳細(xì)介紹了C++有理數(shù)的表達(dá)和計算,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C++模板類的用法實例

    C++模板類的用法實例

    這篇文章主要介紹了C++模板類的用法實例,以實例形式詳細(xì)講述了模板類的接口、成員、內(nèi)聯(lián)函數(shù)等概念及用法,需要的朋友可以參考下
    2014-10-10
  • C語言基礎(chǔ)之格式化輸出控制長度

    C語言基礎(chǔ)之格式化輸出控制長度

    這篇文章主要介紹了C語言基礎(chǔ)之格式化輸出控制長度的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • C++初始化函數(shù)列表詳細(xì)解析

    C++初始化函數(shù)列表詳細(xì)解析

    C++可以定義引用類型的成員變量,引用類型的成員變量必須在構(gòu)造函數(shù)的初始化列表中進(jìn)行初始化
    2013-09-09

最新評論