日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言投票程序设计,C语言课程设计-投票程序设计.doc

發布時間:2023/12/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言投票程序设计,C语言课程设计-投票程序设计.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

投票程序

題目與要求:

題目要求

設有代號為’a’,’b’,’c’的三個個足球先生候選人,根據投票者在選票上對他們編號的填寫順序分別記分5,3,2。請編程從鍵盤上輸入投票人數及投票結果,統計他們的得分,并輸出哪位當選足球先生。請注意;若同一張票上寫有兩個相同代號,則顯示“此票無效”,若最終前兩名得分相同應顯示“重新投票”,否則顯示三個候選者得分并輸出“祝賀X當選冠軍!”。

例如:投票人數:5

輸入投票內容:

a b c

c a b

c b a

c a a 該票無效!

c b a

三位候選人得分:

a: 12

b: 13

c: 15

祝賀c當選冠軍!

1.1問題提出與要求:

需求分析

本程序中要求候選人有編號和得票數,且每張選票上要同時寫上三個候選人的編號,最終輸出誰是獲勝者。因此可以用結構體來存儲候選人的信息。唱票中要求相對應的編號分別記分為5、3、2,因此在記分程序中可以用一個條件表達式來進行統計得分。統計結果中若前兩名有相同的得票數則要求重新投票。為此要求把三個侯選人的總得分進行比較,則可以用一個判斷語句來判斷,簡單明了。

數據結構可用結構體數組,結構體成員包括代號、得分。或者采用二維數組,行方向對應一張投票,列方向對應各候選人得分。

2.功能實現設計:

2.1總體設計——程序流程圖

流程圖:

開始輸入投票人數及投票內容

開始

輸入投票人數及投票內容

統計相應候選人的票數并排序

選票編號重復?

判斷前兩名

總票數是否相等

結束

重新投票

N

Y

Y

N

輸出投票結果及獲勝者

定義結構體與相關變量

該票無效

2.2詳細設計:

<1>程序源代碼:

#include

main()

{

int finish=0,first,seccond,i,scores[3],num;

char s1,s2,s3;

printf("*******************************************************\n");

printf("*****Welcome to use footballman voting programe! ******\n");

printf("*******************************************************\n");

while(finish==0) /*****輸入模塊*****/

{

for(i=0;i<3;i++) scores[i]=0;

printf("請輸入投票人數: \n"); /*****有多少人投票*****/

scanf("%d",&num); /*****輸入投票人數*****/

getchar();

printf("請輸入投票內容(選擇您所需的abc候選人次序): \n"); /*****選票的內容*****/

for(i=0;i

{

scanf("%c %c %c",&s1,&s2,&s3); /*****輸入投票內容*****/

getchar();

if(s1==s2||s1==s3||s2==s3)

printf("該票無效!\n"); /*****該票無效*****/

if(s1!=s2 && s1!=s3 && s2!=s3 && (s1>='a' && s1<='c')

&& (s2>='a' && s2<='c') && (s3>='a' && s3<='c'))/*****統計模塊*****/

{

scores[s1-'a']+=5;

scores[s2-'a']+=3;

scores[s3-'a']+=2;

}

}

printf("Voting results:\n"); /*****輸出模塊*****/

printf("a: %d\n",scores[0]); /*****結果輸出*****/

printf("b: %d\n",scores[1]);

printf("c: %d\n",scores[2]);

first=0;

seccond=1;

for(i=0;i<3;i++)

{

if(scores[i]>scores[first])

{

seccond=first;

first=i;

}

總結

以上是生活随笔為你收集整理的c语言投票程序设计,C语言课程设计-投票程序设计.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。