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;
}

计算月份时候注意区间

原文地址:https://www.cnblogs.com/dk2154/p/14162619.html