题目描述
完成一个对候选人得票的统计程序。候选人人数不定,但没有重名的。使用结构体存储每一个候选人的名字、得票数、第一张和最后一张得票的序号(从1数)。记录每一张选票的得票人名,输出得票最多和得票最少的候选人信息
输入格式
第一行有一个整数n,表示以下有n张选票信息将会输入。n不大于100。
以后的n行中,每一行包含一个人名,为选票的得票人。保证每一个人名都是唯一。
输出格式
有两行,分别为得票最多和得票最少的信息。格式为首先输出人名,其后输出一个冒号,输出候选人的得票数、第一张和最后一张得票的序号,空格隔开。(若票数相同,名字短的优先,若名字长度也相同,逐字符比较ASCII码,小的优先。)
输入样例
10
Li
Li
Fun
Zhang
Zhang
Fun
Li
Hu
Zhang
Li
输出样例
Li:4 1 10
Hu:1 8 8
#include <iostream>
using namespace std;
struct person {
char name[100];
int count;
};
int main() {
int n;
int count = 0;
cin >> n;
char arr[100];
char name[100];
char b;
for (int i = 0; i < n; i++) {//读入投票的情况//
cin >> b;
int a = 0;
arr[a] = b;
a++;
for (int i = 0; i < n; i++) {//打印一份投票里面的所有人的名字的数组名单//
name[i] = arr[0];
}
}
for (int i = 0; i < n; i++) {//提取名单中中不重复的名字//
int r = 0;
r++;
if (name[r] == arr[i]) {
name[r] = name[r];
}
}
for (int i = 0; i < n; i++) {
cout << name[i] << endl;
}
for (int j = 0; j < n; j++) {
if (name[j]==arr[j]) {
count++;}}
return 0;
}
这是我的代码
错的好离谱
想不到什么好的思路