• C++第七章作业(mooc)


    问题一

    题目内容:

    完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。结构体可以定义成如下的格式:

    struct person {

        char name[20];

        int count;

    }leader[3] = {“Li”, 0, “Zhang”, 0, “Fun”, 0};

    输入格式:

    第一行有一个整数n,表示以下有n张选票信息将会输入。保证n不大于100。

    以后的n行中,每一行包含一个人名,为选票的得票人。保证每一个人名都是Li,Zhang和Fun中的某一个。

    输出格式:

    有三行,分别为Li,Zhang和Fun每人的得票数。格式为首先输出人名,其后输出一个冒号,最后输出候选人的得票数。

    请注意行尾输出换行。

    输入样例:

    10

    Li

    Li

    Fun

    Zhang

    Zhang

    Fun

    Li

    Fun

    Zhang

    Li

    输出样例:

    Li:4

    Zhang:3

    Fun:3

    #include<iostream>
    #include<cstring>
    using namespace std;
    struct person
    {
        char name[20];
        int count;
    }leader[3] = { "Li",0,"Zhang",0,"Fun",0 };
    int main()
    {
        int n, count;
        char name[20];
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            cin >> name;
            if (strcmp(name, "Li") == 0)
                leader[0].count++;
            else if (strcmp(name, "Zhang") == 0)
                leader[1].count++;
            else if (strcmp(name, "Fun") == 0)
                leader[2].count++;
        }
        cout << "Li:" << leader[0].count << endl << "Zhang:" << leader[1].count << endl << "Fun:" << leader[2].count;
        return 0;
    }

    不要忘记加头文件<cstring>

    问题二

    题目内容:

    定义一个包括年、月、日的结构体变量,读入年、月、日,计算该日在当年中是第几天。注意闰年问题。

    请写一个函数days实现计算,将读入的结构体变量传递给days函数,计算后将答案返回给main函数进行输出。

    输入格式:

    三个整数,分别表示年、月、日。保证输入是实际存在的日期,且年份在1000至3000之间(包含1000和3000)。

    输出格式:

    输出该日期是一年中的第几天。

    请注意行尾输出换行。

    输入样例:

    2012 12 21

    输出样例:

    356

    #include<iostream>
    using namespace std;
    struct date
    {
        int year, month, day;
    };
    double days(int y, int m, int d)
    {
        double sum = 0;
        int a[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
        int b[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
        if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0)
        {
            for (int i = 0; i < m-1; i++)
                sum += b[i];
            sum += d;
        }
        else
        {
            for (int i = 0; i < m-1; i++)
                sum += a[i];
            sum += d;
        }
        return sum;
    }
    int main()
    {
        int y, m, d;
        cin >> y >> m >> d;
        struct date d1{y,m,d};
        cout<<days(d1.year, d1.month, d1.day);
        return 0;
    }

    计算月份时候注意区间

  • 相关阅读:
    植物园偶遇一直喵
    植物园偶遇一直喵
    美食篇
    美食篇
    端午节路过南站
    端午节路过南站
    黄山云海
    黄山云海
    Android (1)
    树和树算法(1)
  • 原文地址:https://www.cnblogs.com/dk2154/p/14162619.html
Copyright © 2020-2023  润新知