C語言實現投票系統
阿新 • • 發佈:2020-07-24
本文例項為大家分享了C語言實現投票系統的具體程式碼,供大家參考,具體內容如下
問題:
某個班級有3個候選人,有6個同學參與投票,而且只能投一個人,要求編寫統計選票的程式。先輸入候選人名字,再輸入同學所投的候選人名字,最後根據每位候選人的得票數排序
思路:
先定義一個學生結構體 stduent,結構體中包含姓名,票數。
同時宣告結構陣列stu[N - 1],裡面存放候選人資訊
輸入候選人的姓名,開始投票。如果輸入的字串和候選人的姓名一樣,就累加。
之後,用氣泡排序。最後輸出排完序票數。
個人感覺我做的這個,很簡陋。只是完成了基本的功能
// vote.c --投票系統,用結構體實現 #include <stdio.h> #include <string.h> #define N 3 // 候選人 #define M 6 // 學生 struct stduent{ // 宣告學生結構體 char name[20]; // 姓名 int num; // 票數 } stu[N - 1]; int main(void) { int i,j; char temp[10]; for (i = 0; i < N; i++) { printf("請輸入第%d個候選人姓名:",i + 1); scanf("%s",stu[i].name); } for (i = 0; i < M; i++) { printf("請第%d個學生輸入投票結果:",i+1); scanf("%s",temp); for (j = 0; j < N; j++) if (strcmp(stu[j].name,temp) == 0) { stu[j].num++; break; } } // 氣泡排序 // 建立中間結構變數 struct stduent t; for (i = 1; i < N; i++) for (j = N - 1; j >= i; j--) { if (stu[j - 1].num < stu[j].num) { t = stu[j - 1]; stu[j - 1] = stu[j]; stu[j] = t; } } printf("\n投票排名:\n"); for (i = 0; i < N; i++) printf("%s的票數是%d\n",stu[i].name,stu[i].num); return 0; }
附圖:
更多學習資料請關注專題《管理系統開發》。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。