- 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;
您可能关注的文档
- 《C语言程序设计》教学日历模板.pdf
- 《Java语言程序设计》试题.pdf
- 《财政学》课程教学大纲 (三).pdf
- 《初中数学竞赛模拟试题汇编与讲解》.pdf
- 《邓小平爷爷植树》集体备课导学案.pdf
- 《高级语言程序设计基础》课程实验指导书.pdf
- 《数据结构》课程教学大纲 (一).pdf
- 《医疗安全与风险防范》培训试题.pdf
- 《幼儿医学基础》.pdf
- 《中国古代寓言》故事简介及寓意.pdf
- 03-2 2025年度民主生活会征求意见座谈会主持词.docx
- 03-1 2025年度民主生活会主持讲话提纲.docx
- 02-1 会前学习-《县以上党和国家机关党员领导干部民主生活会若干规定》相关要求.docx
- 在2025年度民主生活会上的总结讲话三篇.docx
- 在2025年度民主生活会上的总结讲话三篇 (3).docx
- 市委宣传部2025年度民主生活会查摆问题整改方案两篇.docx
- 在市行政审批和政务信息管理局机关2026年全体干部政绩观教育大会上的党课讲稿.docx
- X市应急管理局2026年度安全生产监督检查计划.docx
- 2025年度民主生活会领导班子对照检查材料(五个带头)三篇.docx
- 2025年度民主生活会“五个带头”个人对照检查材料三篇.docx
原创力文档

文档评论(0)