C語(yǔ)言實(shí)現(xiàn)選票統(tǒng)計(jì)
用C語(yǔ)言實(shí)現(xiàn)選票統(tǒng)計(jì),供大家參考,具體內(nèi)容如下
要求:
設(shè)有N個(gè)候選人,10個(gè)選舉人,每一個(gè)選舉人只能選一位候選人,最終票數(shù)最高的當(dāng)選為領(lǐng)導(dǎo)人,輸出候選人票數(shù)和領(lǐng)導(dǎo)人信息。
實(shí)現(xiàn):
1定義結(jié)構(gòu)體數(shù)組存儲(chǔ)候選人信息。
2循環(huán)10次,每次從鍵盤(pán)輸入選票姓名,和候選人進(jìn)行比較,并統(tǒng)計(jì)選票。
代碼:
#include<stdio.h>
#include<string.h>
#define N 3
struct person{
char name[20];
int count;
}leader[3]={{"as",0,},{"qw",0,},{"zx",0}};//定義結(jié)構(gòu)體數(shù)組初始化
//統(tǒng)計(jì)選票
void addcount()
{
int i,j;
char name[20];
for(i=0;i<10;i++)
{ printf("請(qǐng)輸入選票姓名:");
gets(name);//輸入選票姓名
for(j=0;j<N;j++)
{
if(strcmp(name,leader[j].name)==0)
leader[j].count++;//選票姓名和候選人比較,相同的候選人票數(shù)加一
}
}
}
//輸出候選人票數(shù)
void printcount()
{ for(int i=0;i<N;i++)
{printf("%s:%d\n",leader[i].name,leader[i].count);
}
}
//輸出領(lǐng)導(dǎo)人信息
void printleader()
{
int max,t;
max=leader[0].count;
for(int i=1;i<N;i++)
{ if(leader[i].count>max)
max=leader[i].count;
t=i;
}
printf("%s候選成功!選舉票數(shù)為:%d!\n",leader[t].name,max);
}
//主函數(shù)
int main()
{
addcount();
printcount();
printleader();
return 0;
}
運(yùn)行結(jié)果:

更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開(kāi)發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用C++實(shí)現(xiàn)矩陣的相加/相稱/轉(zhuǎn)置/求鞍點(diǎn)
利用C++實(shí)現(xiàn)矩陣的相加/相稱/轉(zhuǎn)置/求鞍點(diǎn)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10
詳解C++編程中的主表達(dá)式與后綴表達(dá)式編寫(xiě)基礎(chǔ)
這篇文章主要介紹了C++編程中的主表達(dá)式與后綴表達(dá)式編寫(xiě)基礎(chǔ),是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-01-01
C語(yǔ)言實(shí)現(xiàn)的順序表功能完整實(shí)例
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)的順序表功能,結(jié)合完整實(shí)例形式分析了C語(yǔ)言順序表的創(chuàng)建、添加、刪除、排序、合并等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
C++實(shí)現(xiàn)AVL樹(shù)的基本操作指南
AVL樹(shù)是高度平衡的而二叉樹(shù),它的特點(diǎn)是AVL樹(shù)中任何節(jié)點(diǎn)的兩個(gè)子樹(shù)的高度最大差別為1,下面這篇文章主要給大家介紹了關(guān)于C++實(shí)現(xiàn)AVL樹(shù)的相關(guān)資料,需要的朋友可以參考下2022-01-01

