华为OJ——记票统计

    xiaoxiao2025-04-26  8

    记票统计

    题目描述

    请实现接口:

    unsigned int  AddCandidate (char* pCandidateName); 功能:设置候选人姓名 输入: char* pCandidateName 候选人姓名 输出:无 返回:输入值非法返回0,已经添加过返回,添加成功返回1

    Void Vote(char* pCandidateName); 功能:投票 输入: char* pCandidateName 候选人姓名 输出:无 返回:无 unsigned int  GetVoteResult (char* pCandidateName);

    功能:获取候选人的票数。如果传入为空指针,返回无效的票数,同时说明本次投票活动结束,释放资源 输入: char* pCandidateName 候选人姓名。当输入一个空指针时,返回无效的票数

    输出:无 返回:该候选人获取的票数

    void Clear()

    // 功能:清除投票结果,释放所有资源 // 输入: // 输出:无 // 

    输入描述:

    输入候选人的人数,第二行输入候选人的名字,第三行输入投票人的人数,第四行输入投票。

    输出描述:

    每行输出候选人的名字和得票数量。

    输入例子:

    4

    A B C D

    8

    A B C D E F G H

    输出例子:

    A : 1

    B : 1

    C : 1

    D : 1

    Invalid : 4

    解答代码:

    #include<iostream> #include<fstream> #include<string> #include<cstring> #include<algorithm> #include<sstream> using namespace std; int main() { string Candidate[512]; string findName=""; int record[512]; int i,j,n,m; while(cin >> n) { int result=0; memset(record,0,sizeof(record)); for(i=0;i<n;i++) cin >> Candidate[i]; cin>>m; for(i=0;i<m;i++) { cin >> findName; for(j=0;j<n;j++) { if(Candidate[j]==findName) { record[j]++; break; } } if(j==n) result++; } for(i=0;i<n;i++) cout<<Candidate[i]<<" : "<<record[i]<<endl; cout<<"Invalid : "<<result<<endl; } return 0; }

     

    转载请注明原文地址: https://ju.6miu.com/read-1298467.html
    最新回复(0)