《数据结构》课程设计--投票选举.pdfVIP

  • 0
  • 0
  • 约3.04千字
  • 约 6页
  • 2026-02-12 发布于河北
  • 举报

2017-2018学年第一学期

《数据结构》

课程设计报告

题目:投票选举

专业:数字媒体技

班级:数字151

目录

1问题描述3

2问题分析3

3程序设计4

4程序代码5

5参考文献6

6程序测试6

1问题描述

某校学生会主席由全校学生投票选举产生,共有m名候选人报名参选0(m10

全校有n名学生0(〈水:2000,每人都可以投票,但每人只能投一票,每票只能

选候选人。请设计-一个程序,能够统计出哪个候选人得票最多,得了多少票。

2问题分析

需要设计一个结构体数组,数组中包含”个无不想而然的为0。按下来用键盘输

的姓名字(符型)和得票数[整型)。初始,每个候选人的得票效但这创基中的“姓

名”成员比较,如果相人来模拟学生投票:输人被选人的姓名,然后与数组元家

学生投票,所以上述过程重复同,就给这个元素中的“得票数”成员的值加1;

共有n”及相应的“得次。最后比较m个元素的“得票数”成员,输出该值最大

的元素“姓名票数二

3程序设计

选用结构体作为候选人的存储结构。

候选人的存储结构-

structperson

/*候选人的姓名*/

{charname[201;

/*候选人的得票数*/

intcount;

输人设计:第一行给出候选人数目m水(10)和作为选民的学生数目n(K(

2000),接着输人m个候选人的姓名。

输山设计:输出得票数最多的候选人姓名及其相应的得票数。

基本操作:

lnit)(:初始化界面设计。

Input):输人数据。

TouPiaoO:完成n名学生的投票。

MaxCount():求得票数最多的候选人,输出其相应信息.

mainO:主函数。

4程序代码

#includestring.h

#includestdio.h

^defineM10

ttdefineN20000

intm=0,n=0;

structperson

{

charname[20];

intcount;

}leader[M];

voidInit()

{

printf(〃*******************投票选举******************);

printf(〃请输入候选人数m(m=10)和学生数n(n=20000):\n\n);

)

voidInput()

{intm,n;

inti;

charleadername[20];

scanf(%d,%d,m,n);

z,

printf(\n请输入%d个候选人姓名:”,m);

for(i=0;im;i++)

printf(请输入第%d个候选人姓名:,i+1);

scanf(%s,leader[i].name);

)

)

voidTouPiaoO

{

inti,j;

charleader_name[20];

for(i=0;im;i++)

leader[i].count=0;

printf(\n请输入%d个被选人姓名:”,n);

for(i=0;in;i++)

{

printf(*\n请输入第%d个被选人姓名:”,i+1);

scanf(如“,leadejname);

for(j=0;

文档评论(0)

1亿VIP精品文档

相关文档