统计候选人选票
《程序設計基礎實訓指導教程-c語言》
ISBN 978-7-03-032846-5
p143
7.1.2 上級實訓內容
【實訓內容11】統計候選人選票
分析: 當前有5個候選人,每個人都包含姓名和票數信息,建立一個結構體數組,存放這5個人的初始情況;假定有100人投票,通過輸入這100個人的投票信息,在程序中統計每個人的得票數, 最后輸出每個人的得票情況, 進行比較,再排序,請用指向結構體的指針來完成;排序的過程用子函數完成 #include<stdio.h> #include<string.h> #define WAIT 5 //候選人人數 #define CHOOSE 10 //投票人投票姓名struct wait //定義結構體 {char name[20];int count; }; void wait_input(struct wait *p); //函數聲明,指向waits結構體數組的指針 int main() {struct wait waits[WAIT]; //定義結構體數組int i;for(i=0;i<WAIT;i++){waits[i].count=0; //投票數初始化}printf("投票數初始化驗證\n");for(i=0;i<WAIT;i++){printf("---\t%d",waits[i].count);printf("\n");}wait_input(waits); //waits結構體數組名 傳遞給 結構體指針*pprintf("投票驗證\n");for(i=0;i<WAIT;i++){printf("%s\t%d\n",waits[i].name,waits[i].count);} } void wait_input(struct wait *p) {int i,j;struct wait *c;c=p;printf("輸入%d位候選人的姓名:\n",WAIT);for(i=0;i<WAIT;i++){scanf("%s",p->name);p++;}char choose[CHOOSE][20]; //定義字符數組,存放投票姓名printf("輸入要投票的%d個人的投票姓名:\n",CHOOSE);for(i=0;i<CHOOSE;i++){scanf("%s",choose[i]);}for(i=0;i<WAIT;i++){for(j=0;j<CHOOSE;j++){if(strcmp(c[i].name,choose[j])==0) //遍歷匹配{c[i].count++; //相等,則count+1}}} }總結
- 上一篇: SSH框架的搭建
- 下一篇: VBA-excil打开自动运行宏