C語言 | 統計選票結果的程式
阿新 • • 發佈:2020-12-22
例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 after23.01 seconds with return value 0 請按任意鍵繼續. . .