例38:有三個候選人,每個選民只能投給一個人,要求用C語言編一個統計選票的程序,先后輸入備選人的的名字,最后輸出各人的得票結果。
解題思路:需要設計一個結構數組,數組中包含3個元素,每個元素中的信息應包括候選人的姓名和得票數。
源代碼演示:
#include//頭文件 #include//引入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 語言 嵌入式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。