溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C語言如何實(shí)現(xiàn)投票系統(tǒng)

發(fā)布時(shí)間:2020-07-23 12:00:01 來源:億速云 閱讀:597 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了C語言如何實(shí)現(xiàn)投票系統(tǒng),內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來看看吧。

問題:

某個(gè)班級(jí)有3個(gè)候選人,有6個(gè)同學(xué)參與投票,而且只能投一個(gè)人,要求編寫統(tǒng)計(jì)選票的程序。先輸入候選人名字,再輸入同學(xué)所投的候選人名字,最后根據(jù)每位候選人的得票數(shù)排序

思路:

先定義一個(gè)學(xué)生結(jié)構(gòu)體 stduent,結(jié)構(gòu)體中包含姓名,票數(shù)。
同時(shí)聲明結(jié)構(gòu)數(shù)組stu[N - 1],里面存放候選人信息
輸入候選人的姓名,開始投票。如果輸入的字符串和候選人的姓名一樣,就累加。
之后,用冒泡排序。最后輸出排完序票數(shù)。

個(gè)人感覺我做的這個(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;
}

附圖:

C語言如何實(shí)現(xiàn)投票系統(tǒng)

以上就是關(guān)于C語言如何實(shí)現(xiàn)投票系統(tǒng)的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI