問題描述 :
學生會主席投票選舉工作正在舉行。本次投票將採用電腦統計選票的方式,當投票選舉正式開始後,同學們將排隊一 一走到電腦前,投上自己神聖的一票:在電腦前輸入乙個姓名,然後輸入回車表示確認。
投票結束後顯示得票最高的同學姓名,該同學將當選為新一屆學生會主席。
請程式設計統計投票。
輸入說明 :
輸入包含多行,每行是乙個由英文本母組成的字串,表示乙個姓名,首尾以及中間都不包含空格。
參加投票學生的人數不超過100人,每個學生姓名字串的長度小於20。
由於學生投票時輸入的姓名有大寫有小寫,你在統計時不區分大小寫,即"liming"和"liming"是同乙個人。
輸出說明 :
輸出為乙個字串——當選為學生會主席的學生姓名以及他的票數,中間用乙個空格分隔。
輸入保證沒有兩個人並列票數最高。
輸出的英文本母全部用小寫。
輸入範例 :
limin
liming
liming
wangshan
huyou
liming
輸出範例:
liming 3
總結
1.與90題不同在於不知道有多少人參與投票(while迴圈來解決),不知道被投的有哪些(結構陣列裡面的元素是動態的)。
2.思路:結構陣列初始化,名字為空,票數為0----->不斷輸入乙個名字–> 轉化成小寫字母---->如果是第一次輸入,結構陣列記錄下來,如果不是,則在結構陣列中進行比較,檢視本次輸入與結構陣列中是否有相同名字的—>若有,結構陣列當前票數加1,跳出比較,若沒有則直接將名字賦值給結構陣列(也就是說之前沒人選過他)。
要記錄這是被投的第幾個人!!
3.字串迴圈輸入while(gets(name)),只能有gets 按下crtl+z 即可結束
#include
#include
#include
typedef
struct stustudent;
intmain()
i=-1
;while
(gets
(name))if
(i==0)
//若不是第一次
else}if
(flag)}}
#if(0)
測試為了輸出結構陣列中的人以及相應的票數
for(j=0
;j<=i;j++
)#endif
//找出票數最多的
max=stu[0]
;for
(j=1
;j<=i;j++
)printf
("%s %d\n"
,max.name,max.num)
;return0;
}
90 選票統計
90 選票統計 問題描述 學生會主席投票選舉工作正在舉行。本次投票將採用電腦統計選票的方式,當投票選舉正式開始後,同學們將排隊一 一走到電腦前,投上自己神聖的一票 在電腦前輸入乙個姓名,然後輸入回車表示確認。投票結束後顯示得票最高的同學姓名,該同學將當選為新一屆學生會主席。請程式設計統計投票。輸入說...
東華OJ 基礎題 64統計字母
問題描述 輸入一串字串,以 結束,不分大小寫,統計其中每種英文本元出現的次數。輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每組輸入資料由一行組成,其中只包括大小寫的英文本母和 且以 結尾,每行字元數不超過100。兩組資料之間沒有多餘的空行。在行首和行尾沒有多餘的空格。輸出說...
選票統計 oj
time limit 1000ms memory limit 65536kb problem description 某校學生會主席由全校學生投票選舉產生,共有 名候選人報名參選,編號為1到 0 1000 全校有 名學生 0 30000 每人都可以投票。但每人只能投一票,每票只能選1名候選人。請你設...