關於strcmp 函式的使用和結構體字串問題

2021-10-01 07:57:41 字數 2525 閱讀 7626

學生會主席投票選舉工作正在舉行。本次投票將採用電腦統計選票的方式,當投票選舉正式開始後,同學們將排隊一 一走到電腦前,投上自己神聖的一票:在電腦前輸入乙個姓名,然後輸入回車表示確認。

投票結束後顯示得票最高的同學姓名,該同學將當選為新一屆學生會主席。

請程式設計統計投票。

輸入說明 :

輸入包含多行,每行是乙個由英文本母組成的字串,表示乙個姓名,首尾以及中間都不包含空格。

參加投票學生的人數不超過100人,每個學生姓名字串的長度小於20。

由於學生投票時輸入的姓名有大寫有小寫,你在統計時不區分大小寫,即"liming"和"liming"是同乙個人。

輸出說明 :

輸出為乙個字串——當選為學生會主席的學生姓名以及他的票數,中間用乙個空格分隔。

輸入保證沒有兩個人並列票數最高。

輸出的英文本母全部用小寫。

這個問題的思路很好形成,由於人的名字是不確定的,需要輸入一次測試一遍是否這個名字尚未出現過,如果出現過,就在那個名字的num下自加一,否則就建立乙個新的名字,再將它的num自加一,最後迴圈,再根據排序找到最大即可。

#include

#include

#include

#include

struct ststudents[

10000];

using

namespace std;

bool

cmp(

const st &x,

const st &y)

intmain()

for(

register

int i=

0;i<=dlt;i++)}

}sort

(students,students+

16,cmp)

;printf

("%s %d"

,students[0]

.name,students[0]

.num)

;system

("pause");

return0;

}

struct ststudents[

10000];

using

namespace std;

bool

cmp(

const st &x,

const st &y)

intmain()

for(

register

int i=

0;i<=dlt;i++)}

dlt=store;

}sort

(students,students+

16,cmp)

;printf

("%s %d"

,students[0]

.name,students[0]

.num)

;

測試之後還是不對,請教了他人之後明白了是name字串沒有初始化的問題,而字串的初始化我們要將整整個字串空間都初始化為某個值,由於字串比較長,所以我們要是用menset()函式,這裡我們初始化為』\0』。

struct st

}students[

10000];

using

namespace std;

bool

cmp(

const st &x,

const st &y)

intmain()

for(

register

int i=

0;i<=dlt;i++)}

dlt=store;

}sort

(students,students+

100,cmp)

;printf

("%s %d"

,students[0]

.name,students[0]

.num)

;

struct ststudents[

10000];

using

namespace std;

bool

cmp(

const st &x,

const st &y)

intmain()

for(

register

int i=

0;i<=dlt;i++)}

dlt=store;

}sort

(students,students+

100,cmp)

;printf

("%s %d"

,students[0]

.name,students[0]

.num)

;

這裡面字串沒有初始化但是並不影響、

strcmp函式的使用

strcmp是比較兩個字串的大小,兩個字串相同時返回0,第乙個字串大於第二個字串時返回乙個正值,否則返回負值.比較兩個字串的演算法是 逐個比較兩個串中對應的字元,字元大小按照ascii碼值確定,從左向右比較,如果遇到不同字元,所遇第一對不同字元的大小關係就確定了兩個字串的大小關係,如果未遇到不同字元...

strcmp函式的使用

strcmp是比較兩個字串的大小,兩個字串相同時返回0,第乙個字串大於第二個字串時返回乙個正值,否則返回負值.比較兩個字串的演算法是 逐個比較兩個串中對應的字元,字元大小按照ascii碼值確定,從左向右比較,如果遇到不同字元,所遇第一對不同字元的大小關係就確定了兩個字串的大小關係,如果未遇到不同字元...

strcmp函式的使用

strcmp是比較兩個字串的大小,兩個字串相同時返回0,第乙個字串大於第二個字串時返回乙個正值,否則返回負值.比較兩個字串的演算法是 逐個比較兩個串中對應的字元,字元大小按照ascii碼值確定,從左向右比較,如果遇到不同字元,所遇第一對不同字元的大小關係就確定了兩個字串的大小關係,如果未遇到不同字元...