C语言 投票系统
C語言 投票系統(tǒng)
問題:
某個班級有3個候選人,有6個同學參與投票,而且只能投一個人,要求編寫統(tǒng)計選票的程序。先輸入候選人名字,再輸入同學所投的候選人名字,最后根據(jù)每位候選人的得票數(shù)排序
思路
先定義一個學生結(jié)構(gòu)體 stduent,結(jié)構(gòu)體中包含姓名,票數(shù)。
同時聲明結(jié)構(gòu)數(shù)組stu[N - 1],里面存放候選人信息
輸入候選人的姓名,開始投票。如果輸入的字符串和候選人的姓名一樣,就累加。
之后,用冒泡排序。最后輸出排完序票數(shù)。
個人感覺我做的這個,很簡陋。只是完成了基本的功能
// vote.c --投票系統(tǒng),用結(jié)構(gòu)體實現(xiàn) #include <stdio.h> #include <string.h> #define N 3 // 候選人 #define M 6 // 學生 struct stduent{ // 聲明學生結(jié)構(gòu)體char name[20]; // 姓名int num; // 票數(shù) } 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個學生輸入投票結(jié)果:", i+1);scanf("%s", temp);for (j = 0; j < N; j++)if (strcmp(stu[j].name, temp) == 0){stu[j].num++;break;}}// 冒泡排序// 創(chuàng)建中間結(jié)構(gòu)變量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的票數(shù)是%d\n", stu[i].name, stu[i].num);return 0; }附圖:
總結(jié)
- 上一篇: vue_todo案例超详细讲解(可跟做练
- 下一篇: 企业信息安全类证书有哪些?