C程序计算年龄

给定一个人的当前日期和出生日期,其任务是计算其当前年龄。

示例

Input-: present date-: 21/9/2019

   Birth date-: 25/9/1996

Output-: Present Age

   Years: 22 Months:11 Days: 26

下面使用的方法如下-

  • 输入一个人的当前日期和出生日期

  • 检查条件

    • 如果当前月份小于出生月份,那么我们将不考虑当前年份,因为今年尚未完成,因此通过在当前月份加上12来计算月份之间的差异。

    • 如果当前日期小于出生日期,那么我们将不考虑月份,并且为了生成减法日期,请在当前日期上加上月数,结果日期将有所不同。

  • 当满足此条件时,只需减去天,月和年即可得出最终结果

  • 打印最终年龄

算法

Start

Step 1-> declare function to calculate age

   void age(int present_date, int present_month, int present_year, int birth_date, int birth_month, int birth_year)

      Set int month[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }

      IF (birth_date > present_date)

         Set present_date = present_date + month[birth_month - 1]

         Set present_month = present_month – 1

      End

      IF (birth_month > present_month)

         Set present_year = present_year – 1

         Set present_month = present_month + 12

      End

      Set int final_date = present_date - birth_date

      Set int final_month = present_month - birth_month

      Set int final_year = present_year - birth_year

      Print final_year, final_month, final_date

Step 2-> In main()   Set int present_date = 21

   Set int present_month = 9

   Set int present_year = 2019

   Set int birth_date = 25

   Set int birth_month = 9

   Set int birth_year = 1996

   Call age(present_date, present_month, present_year, birth_date, birth_month,

birth_year)

Stop

示例

#include <stdio.h>

#include <stdlib.h>

//计算当前年龄的功能

void age(int present_date, int present_month, int present_year, int birth_date, int birth_month, int birth_year) {

   int month[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

   if (birth_date > present_date) {

      present_date = present_date + month[birth_month - 1];

      present_month = present_month - 1;

   }

   if (birth_month > present_month) {

      present_year = present_year - 1;

      present_month = present_month + 12;

   }

   int final_date = present_date - birth_date;

   int final_month = present_month - birth_month;

   int final_year = present_year - birth_year;

   printf("Present Age Years: %d Months: %d Days: %d", final_year, final_month, final_date);

}

int main() {

   int present_date = 21;

   int present_month = 9;

   int present_year = 2019;

   int birth_date = 25;

   int birth_month = 9;

   int birth_year = 1996;

   age(present_date, present_month, present_year, birth_date, birth_month, birth_year);

   return 0;

}

输出结果

如果我们运行以上代码,它将在输出后产生

Present Age Years: 22 Months:11 Days: 26

以上是 C程序计算年龄 的全部内容, 来源链接: utcz.com/z/343523.html

回到顶部