年龄计算问题c++

题目描述

输入一个学生的生日(年,月,日)和当前日期(年、月、日),计算该生的实足年龄(?岁零?个月)并输出,如果没有零0个月,不用显示。

输入描述:

 
 
两行,第一行,三个整数,空格分隔,分别为出生的年月日,
第二行,三个整数,空格分隔,分别为当前的年月日。

输出描述:

输出该生的实足年龄(?岁零?个月),如果没有零0个月,不用显示,详见样例。链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网

题目描述

输入一个学生的生日(年,月,日)和当前日期(年、月、日),计算该生的实足年龄(?岁零?个月)并输出,如果没有零0个月,不用显示。

输入描述:

 
  
两行,第一行,三个整数,空格分隔,分别为出生的年月日,
第二行,三个整数,空格分隔,分别为当前的年月日。

输出描述:

输出该生的实足年龄(?岁零?个月),如果没有零0个月,不用显示,详见样例。

代码

#include<stdio.h>
int main()
{
    int y0,m0,d0;
    int y1,m1,d1;
    int y,m,d;
    scanf("%d%d%d",&y0,&m0,&d0);
    scanf("%d%d%d",&y1,&m1,&d1);
    if(d1<d0)
        {
            m1--;
            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;
        y=y1-y0;
        }
    else
        {
        m=m1-m0;
        y=y1-y0;
        }
    if(m==0)
    {
         printf("%d岁",y);
    }
    else{ printf("%d岁零%d个月",y,m);}

return 0;
}

这段代码是用于计算学生的实足年龄并输出的程序。

程序首先定义了一些变量,包括学生的生日(y0、m0、d0)、当前日期(y1、m1、d1)、年龄(y)、月份(m)和日期(d)。

然后,程序通过scanf函数分别读取学生的生日和当前日期。

接下来,程序使用if语句判断当前日期中的日期(d1)是否小于生日中的日期(d0)。如果是,则表示生日的日期已经过了当前日期的日期,需要将月份(m1)减一,并根据不同的月份(2、4、6、9、11)计算实际的日期(d)。

如果当前日期中的日期大于等于生日中的日期,则直接计算实际的日期(d)为当前日期减去生日日期。

然后,程序使用另一个if语句判断当前日期中的月份(m1)是否小于生日中的月份(m0)。如果是,则表示当前日期的月份已经过了生日的月份,需要将年份(y1)减一,并计算实际的月份(m)和年龄(y)。

如果当前日期中的月份大于等于生日中的月份,则直接计算实际的月份(m)和年龄(y)为当前日期减去生日日期。

最后,程序根据实际的月份和年龄输出学生的实足年龄。如果实际的月份为0,则只输出年龄;否则,输出年龄和月份。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全国计算机二级C++模拟题是为了评估考生在C++编程方面的能力而设计的一套题目。这些题目涵盖了C++语言的基本语法、面向对象编程、文件操作、异常处理等方面的知识点。以下是一道典型的全国计算机二级C++模拟题: 题目:编写一个C++程序,现一个简单的学生信息管理系统。要求如下: 1. 定义一个学生类(Student),包含学号(id)、姓名(name)、年龄(age)三个成员变量,以及设置和获取这些成员变量的成员函数。 2. 定义一个学生信息管理类(StudentManager),包含一个学生数组作为成员变量,以及添加学生信息、删除学生信息、查找学生信息等功能的成员函数。 3. 在主函数中,创建一个学生信息管理对象,通过调用其成员函数现对学生信息的管理。 示例代码如下: ```cpp #include <iostream> #include <string> using namespace std; class Student { private: int id; string name; int age; public: void setId(int studentId) { id = studentId; } void setName(string studentName) { name = studentName; } void setAge(int studentAge) { age = studentAge; } int getId() { return id; } string getName() { return name; } int getAge() { return age; } }; class StudentManager { private: static const int MAX_SIZE = 100; Student students[MAX_SIZE]; int count; public: StudentManager() { count = 0; } void addStudent(Student student) { if (count < MAX_SIZE) { students[count] = student; count++; cout << "添加学生信息成功!" << endl; } else { cout << "学生信息已满,无法添加!" << endl; } } void deleteStudent(int studentId) { for (int i = 0; i < count; i++) { if (students[i].getId() == studentId) { for (int j = i; j < count - 1; j++) { students[j] = students[j + 1]; } count--; cout << "删除学生信息成功!" << endl; return; } } cout << "未找到该学生信息!" << endl; } void searchStudent(int studentId) { for (int i = 0; i < count; i++) { if (students[i].getId() == studentId) { cout << "学号:" << students[i].getId() << endl; cout << "姓名:" << students[i].getName() << endl; cout << "年龄:" << students[i].getAge() << endl; return; } } cout << "未找到该学生信息!" << endl; } }; int main() { StudentManager manager; Student student1; student1.setId(1); student1.setName("张三"); student1.setAge(18); manager.addStudent(student1); Student student2; student2.setId(2); student2.setName("李四"); student2.setAge(19); manager.addStudent(student2); manager.searchStudent(1); manager.searchStudent(3); manager.deleteStudent(1); manager.searchStudent(1); return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值