1. 程式人生 > 實用技巧 >C語言 | 統計選票結果的程式

C語言 | 統計選票結果的程式

例38:有三個候選人,每個選民只能投給一個人,要求用C語言編一個統計選票的程式,先後輸入備選人的的名字,最後輸出各人的得票結果。
解題思路:需要設計一個結構陣列,陣列中包含3個元素,每個元素中的資訊應包括候選人的姓名和得票數。
原始碼演示:

#include<stdio.h>//標頭檔案
#include<string.h>//引入strcmp
 struct people//定義結構體變數
 {
   char name[20];//定義字元陣列
   int number;//定義整型變數
 } leader[3]={"li",0,"zhang",0,"sun",0}; /*陣列的定義和引用不一樣,把姓賦給陣列name 把0賦給 shu
*/ int main()//主函式 { int i,j;//定義整型變數 char leader_name[20];//定義字元陣列 for(i=1;i<10;i++)//for迴圈,迴圈9次 { printf("請輸入人名\n");//提示語句 scanf("%s",leader_name);//鍵盤輸入名字 for(j=0;j<3;j++) if(strcmp(leader_name,leader[j].name)==0)//比較兩個字串,如果名字相等 { leader[j].number++;//票數加1 } } printf(
"結果是:\n");//提示語句 for(i=0;i<3;i++)//for迴圈 { printf("%s票數:%d\n",leader[i].name,leader[i].number);//輸出名字和票數 } return 0;//主函式返回值為0 }


編譯執行結果如下:

請輸入人名
li
請輸入人名
zhang
請輸入人名
sun
請輸入人名
sun
請輸入人名
li
請輸入人名
li
請輸入人名
li
請輸入人名
sun
請輸入人名
sun
結果是:
li票數:4
zhang票數:1
sun票數:4

--------------------------------
Process exited after 
23.01 seconds with return value 0 請按任意鍵繼續. . .

C語言學習路線

C語言開發工具

C語言|統計選票結果的程式