前言程式設計實踐是學習程式語言中的乙個重要環節,許多同學在學習了課程設計這門課程後往往來不及消化以及應用所學知識。為了提高同學程式設計能力,強化同學們的理論應用於實際的能力,提高分析問題與解決問題的能力,故開設程式設計的課程使同學們的程式設計能力上乙個新的台階。
設計題目:投票程式——足球先生投票
一、程式要求
設有代號為 a,b,c,的三個足球先生候選人,根據投票者在選票上對他們的編號的填寫順序分別記分為5、3、2。請程式設計從鍵盤上輸入投票人數和投票結果。統計他們的得分,並輸出哪位當選為足球先生。
(注意:若一張選票中有兩個相同的代號,該選票作廢;若最終前兩名得分相同則要重新投票。)
二、設計分析
本程式中要求候選人有編號和得票數,且每張選票上要同時寫上三個候選人的編號,最終輸出誰是獲勝者。因此可以用結構體來儲存候選人的資訊。唱票中要求相對應的編號分別記分為5、3、2,因此在記分程式中可以用乙個條件表示式來進行統計得分。
統計結果中若前兩名有相同的得票數則要求重新投票。為此要求把三個後選人的總得分進行比較,則可以用乙個判斷語句來判斷,簡單明瞭。
三、程式設計總思路
定義結構體存放候選人的資訊,包括編號和得分。輸入投票總人數和投票結果,然後根據人數和投票結果進行統計得分,把選票中有相同編號的去掉,只統計沒有相同編號的票數。然後對最終的分數進行比較,若存在前兩名的得分情況一樣,則需要重新投票,否則輸出誰是獲勝者。
結構體定義為
struct houxuanrenhxr[3];
唱票情況的資料結構:
if(x!=y&&x!=z&&y!=z) //判斷輸入的投票中不能有重複的編號//
printf("people %c point %d\n",'a'+hxr[i].id,hxr[i].point);
} if(((hxr[0].point==hxr[1].point)&&hxr[0].
point>hxr[2].point&&hxr[1].point>hxr[2].
point)||( (hxr[0].point==hxr[2].point)&&hxr[0].
point>hxr[1].point&&hxr[2].point>hxr[1].
point)||((hxr[1].point==hxr[2].point)&&hxr[1].
point>hxr[0].point&&hxr[2].point>hxr[0].
point))
printf("重新投票\n"); //若有前兩名得分相同進行重新投票//
else
getch();
}主函式設計流程:
具體的演算法有:
if(x!=y&&x!=z&&y!=z)//判斷選票情況,每張選票中的號碼不能有相同的候選人號碼否則作廢//
main()
printf("請輸入投票總人數\n");
scanf("%d",&k);
printf("請輸入投票\n");
getchar();
for(i=1;i<=k;i++)
printf("此票作廢\n"); }
for(i=0;i<3;i++)
printf("people %c point %d\n",'a'+hxr[i].id,hxr[i].point);
} if(((hxr[0].point==hxr[1].point)&&hxr[0].
point>hxr[2].point&&hxr[1].point>hxr[2].
point)
||( (hxr[0].point==hxr[2].point)&&hxr[0].
point>hxr[1].point&&hxr[2].point>hxr[1].
point)
||((hxr[1].point==hxr[2].point)&&hxr[1].
point>hxr[0].point&&hxr[2].point>hxr[0].
point))
printf("重新投票\n"); //若有前兩名得分相同進行重新投票//
else
getch();}
C語言課程設計報告
課程名稱計算機高階語言課程設計 c 教師姓名 本科生姓名 本科生學號 本科生專業機械設計製造及其自動化 所在院系機電學院 類別c.本科生 日期2013.7.11 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。模擬手...
C語言課程設計報告
1.本頁為設計報告要求頁,製作好報告後輸出時將本頁刪除 2.本模板的各種字型及頁面設定請同學們 3.本設計報告左側裝訂。在虛線處裝訂。4.在課程設計封皮一頁上用已經設定好的宋體四號來填寫各個專案。5.在課程設計評定表一頁上用宋體小四填寫班級 學號 姓名 專案組 專案組長 專案組組員 本人工作簡介。組...
C語言課程設計報告
電氣與資訊工程學院 c語言程式設計 課程設計報告 課程設計題目 酒店房間登記與計費管理 專業自動化 班級t1023 6 姓名師曉義 1 需求分析 1 問題 根據需求,該系統所應包含的資訊有以下一些 酒店房間登記與計費管理的基本資訊 客戶姓名 身份證號 開始入住時間 退房時間 入住房間號 房間 入住費...