C語言實現(xiàn)投票系統(tǒng)
本文實例為大家分享了C語言實現(xiàn)投票系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
問題:
某個班級有3個候選人,有6個同學(xué)參與投票,而且只能投一個人,要求編寫統(tǒng)計選票的程序。先輸入候選人名字,再輸入同學(xué)所投的候選人名字,最后根據(jù)每位候選人的得票數(shù)排序
思路:
先定義一個學(xué)生結(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 // 學(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("請輸入第%d個候選人姓名:", i + 1);
scanf("%s", stu[i].name);
}
for (i = 0; i < M; i++)
{
printf("請第%d個學(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í)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
DHCP:解析開發(fā)板上動態(tài)獲取ip的2種實現(xiàn)方法詳解
本篇文章是對開發(fā)板上動態(tài)獲取ip的2種實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
如何使用arm-none-eabi-gcc編譯器搭建STM32的Vscode開發(fā)環(huán)境
這篇文章主要介紹了使用arm-none-eabi-gcc編譯器搭建STM32的Vscode開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07

