填空:爱心汇聚

填空:爱心汇聚

时间: 1ms        内存:128M

描述:

为支援灾区重建,同学们作为志愿者,分头到各个地方收集募捐善款。在下面给出的程序中,定义了志愿者类,在main函数中根据输入志愿者人数及相关信息,将输出捐款笔数,以及总的捐款金额。
在下面的程序段基础上完成设计,只提交begin到end部分的代码
#include <iostream>
#include <string>
using namespace std;
class Volunteer
{
private:
    string name;      //志愿者姓名
    int number;       //志愿者收集捐款的笔数
    int balance;      //志愿者收集到的捐款金额
    static int count; //静态成员,记录总的捐款笔数
    static int sum;   //静态成员,记录总的捐款金额
public:
    Volunteer(string,int,int);  //构造函数
    static int get_count();     //静态成员函数,获取count的值
    static int get_sum();       //静态成员函数,获取sum的值
};

//将程序需要的成份写下来,只提交begin到end部分的代码
//******************** begin ********************
________(1)_______;
int Volunteer::sum=0;
________(2)___________
{
    name=nam;
    number=num;
    balance=bal;
    count+=num;
    ______(3)_______;
}
int Volunteer::get_count()
{
    ______(4)_______;
}
int Volunteer::get_sum()
{
    ______(5)______;
}
//********************* end ********************
int  main( )
{
    string name;
    int num;
    int balance;
    int n;
    cin>>n;  //输入志愿者人数
    while(n--)
    {
        cin>>name>>num>>balance;
        new Volunteer(name,num,balance);
    }
    cout<<"count: "<<Volunteer::get_count()<<endl;
    cout<<"sum: "<<Volunteer::get_sum()<<endl;
    return 0;
}

输入:

志愿者人数
志愿者及收集募捐善款信息(志愿者姓名 志愿者收集到的捐款笔数 收集到的捐款金额)

输出:

所有志愿者收集到的捐款总笔数
所有志愿者收集到的捐款总金额

示例输入:

4
zhao 21 98
qian 18 60
sun 22 87
li 17 67

示例输出:

count: 78
sum: 312

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
int main()
{
	int a,b,m,n,i,yi=0,ge=0;
	char num[1000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",num);
		scanf("%d",&a);
		scanf("%d",&b);
		yi=yi+a;
		ge=ge+b;
	}
	printf("count: %d\n",yi);
	printf("sum: %d\n",ge);
}

参考答案(时间最优[0]):


#include <iostream>
#include <string>
using namespace std;
class Volunteer
{
private:
    string name;  //志愿者姓名
    int number;      //志愿者收集捐款的笔数
    int balance;    //志愿者收集到的捐款金额
    static int count; //静态成员,记录总的捐款笔数
    static int sum;  //静态成员,记录总的捐款金额
public:
    Volunteer(string,int,int);  //构造函数
    static int get_count();  //静态成员函数,获取count的值
    static int get_sum();   //静态成员函数,获取sum的值
};int Volunteer::count=0;   //________(1)_______;
int Volunteer::sum=0;
Volunteer::Volunteer(string nam, int num, int bal)  //________(2)___________
{
    name=nam;
    number=num;
    balance=bal;
    count+=num;
    sum+=bal;     //______(3)_______;
}
int Volunteer::get_count()
{
    return count;  //______(4)_______;
}
int Volunteer::get_sum()
{
    return sum;   //______(5)______;
}
int  main( )
{
    string name;
    int num;
    int balance;
    int n;
    cin>>n;  //输入志愿者人数
    while(n--)
    {
        cin>>name>>num>>balance;
        new Volunteer(name,num,balance);
    }
    cout<<"count: "<<Volunteer::get_count()<<endl;
    cout<<"sum: "<<Volunteer::get_sum()<<endl;
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注