C++经典程序《候选人投票统计程序》
对候选人得票的统计程序。设有3个候选人,最终只能有1人当选为领导。今有10个人参加投票,从键盘先后输入这10个人所投的候选人的名字,要求最后输出这3个候选人的得票结果。
可以定义一个候选人结构体数组,包括3个元素,在每个元素中存放有关的数据。
程序如下: 
#include 
using namespace std;
struct Person                              //声明结构体类型Person
{
char name[20];
int count;
};
int main()
{
Person  leader[3] = { "Li",0,"Zhang",0,"Fun",0 };
//定义Person类型的数组,内容为3个候选人的姓名和当前的得票数
int i, j;
char leader_name[20];            //leader_name为投票人所选的人的姓名
for (i = 0; i < 10; i++)
{
cin >> leader_name;             //先后输入10张票上所写的姓名
for (j = 0; j < 3; j++)              //将票上姓名与3个候选人的姓名比较
if (strcmp(leader_name, leader[j].name) == 0) leader[j].count++;
//如果与某一候选人的姓名相同,就给他加一票
}
cout << endl;
for (i = 0; i < 3; i++)          //输出3个候选人的姓名与最后得票数
{
cout << leader[i].name << ":" << leader[i].count << endl;
}
return 0;
}
运行情况如下: 
Zhang                       (每次输入一个候选人的姓名)
Li
Fun
Li
Zhang
Li
Zhang
Li
Fun
Wang
Li:4               (输出3个候选人的姓名与最后得票数)
Zhang:3
Fun:2