C語(yǔ)言實(shí)現(xiàn)投票系統(tǒng)
本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)投票系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
問(wèn)題:
某個(gè)班級(jí)有3個(gè)候選人,有6個(gè)同學(xué)參與投票,而且只能投一個(gè)人,要求編寫(xiě)統(tǒng)計(jì)選票的程序。先輸入候選人名字,再輸入同學(xué)所投的候選人名字,最后根據(jù)每位候選人的得票數(shù)排序
思路:
先定義一個(gè)學(xué)生結(jié)構(gòu)體 stduent,結(jié)構(gòu)體中包含姓名,票數(shù)。
同時(shí)聲明結(jié)構(gòu)數(shù)組stu[N - 1],里面存放候選人信息
輸入候選人的姓名,開(kāi)始投票。如果輸入的字符串和候選人的姓名一樣,就累加。
之后,用冒泡排序。最后輸出排完序票數(shù)。
個(gè)人感覺(jué)我做的這個(gè),很簡(jiǎn)陋。只是完成了基本的功能
// vote.c --投票系統(tǒng),用結(jié)構(gòu)體實(shí)現(xiàn) #include <stdio.h> #include <string.h> #define N 3 // 候選人 #define M 6 // 學(xué)生 struct stduent{ // 聲明學(xué)生結(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("請(qǐng)輸入第%d個(gè)候選人姓名:", i + 1); scanf("%s", stu[i].name); } for (i = 0; i < M; i++) { printf("請(qǐng)第%d個(gè)學(xué)生輸入投票結(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; }
附圖:
更多學(xué)習(xí)資料請(qǐng)關(guān)注專(zhuān)題《管理系統(tǒng)開(kāi)發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一篇文章帶你了解C語(yǔ)言:入門(mén)基礎(chǔ)(2)
這篇文章主要介紹了C語(yǔ)言入門(mén)之基礎(chǔ)知識(shí)詳解,文中有非常詳細(xì)的C語(yǔ)言使用教程及相關(guān)基礎(chǔ)知識(shí),對(duì)正在學(xué)習(xí)c語(yǔ)言的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-08-08C語(yǔ)言中強(qiáng)制類(lèi)型轉(zhuǎn)換的常見(jiàn)方法
強(qiáng)制類(lèi)型轉(zhuǎn)換是一種將一個(gè)數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一個(gè)數(shù)據(jù)類(lèi)型的方法,這篇文章主要為大家整理了C語(yǔ)言中強(qiáng)制類(lèi)型轉(zhuǎn)換的方法,需要的可以參考一下2023-05-05C++異常處理方式實(shí)例詳解(超級(jí)詳細(xì)!)
程序有時(shí)會(huì)遇到運(yùn)行階段錯(cuò)誤,導(dǎo)致程序無(wú)法正常執(zhí)行下去,c++異常為處理這種情況提供了一種功能強(qiáng)大的而靈活的工具,下面這篇文章主要給大家介紹了關(guān)于C++異常處理方式的相關(guān)資料,需要的朋友可以參考下2023-04-04C++深入探究類(lèi)與對(duì)象之對(duì)象模型與this指針使用方法
C++對(duì)象模型中只有類(lèi)的非static成員以及一個(gè)指向虛函數(shù)表的指針被配置于類(lèi)對(duì)象內(nèi),其他都在類(lèi)對(duì)象外,在 C++ 中,每一個(gè)對(duì)象都能通過(guò) this 指針來(lái)訪(fǎng)問(wèn)自己的地址。this 指針是所有成員函數(shù)的隱含參數(shù)。因此,在成員函數(shù)內(nèi)部,它可以用來(lái)指向調(diào)用對(duì)象2022-04-04DHCP:解析開(kāi)發(fā)板上動(dòng)態(tài)獲取ip的2種實(shí)現(xiàn)方法詳解
本篇文章是對(duì)開(kāi)發(fā)板上動(dòng)態(tài)獲取ip的2種實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05如何使用arm-none-eabi-gcc編譯器搭建STM32的Vscode開(kāi)發(fā)環(huán)境
這篇文章主要介紹了使用arm-none-eabi-gcc編譯器搭建STM32的Vscode開(kāi)發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07