C语言课程设计-投票程序设计.docxVIP

  • 2
  • 0
  • 约3.74千字
  • 约 9页
  • 2023-03-12 发布于湖北
  • 举报
PAGE PAGE 9 投票程序 题目与要求: 题目要求 设有代号为’ a’,’b’,’c’的三个个足球先生候选人 ,根据投票者在选票上对他们编号的填写顺序分别记分 5,3,2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。请注意;若同一张票上写有两个相同代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则显示三个候选者得分并输出“祝贺 X 当选冠军!”。 例如:投票人数:5 输入投票内容: a b c c a b c b a c a a 该票无效! c b a 三位候选人得分: a: 12 b: 13 c: 15 祝贺 c 当选冠军! 问题提出与要求: 需求分析 本程序中要求候选人有编号和得票数,且每张选票上要同时写上三个候选人的编号,最终输出谁是获胜者。因此可以用结构体来存储候选人的信息。唱票中要求相对应的编号分别记分为 5、3、2,因此在记分程序中可以用一个条件表达式来进行统计得分。统计结果中若前两名有相同的得票数则要求重新投票。为此要求把三个侯选人的总得分进行比较,则可以用一个判断语句来判断,简单明了。 数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组, 行方向对应一张投票,列方向对应各候选人得分。 功能实现设计: 总体设计——程序流程图 流程图: 开始 开始 定义结构体与相关变量 输入投票人数 及投票内容 N Y 选票编号重复? 该票无效 统计相应候选人的票数并排序 Y 判断前两名 总票数是否相等 N 重新投票 输出投票结 果及获胜者 结束 详细设计: 1程序源代码: #includestdio.h main() { int finish=0,first,seccond,i,scores[3],num; char s1,s2,s3; printf(*******************************************************\n); printf(*****Welcome to use footballman voting programe! ******\n); printf(*******************************************************\n); while(finish==0) /*****输入模块*****/ { for(i=0;i3;i++) scores[i]=0; printf(请输入投票人数: \n); /*****有多少人投票*****/ scanf(%d,num); /*****输入投票人数*****/ getchar(); printf(请输入投票内容(选择您所需的 abc 候选人次序): \n); /***** 选票的内容*****/ for(i=0;inum;i++) { scanf(%c %c %c,s1,s2,s3); /*****输入投票内容*****/ getchar(); if(s1==s2||s1==s3||s2==s3) printf(该票无效!\n); /*****该票无效*****/ if(s1!=s2 s1!=s3 s2!=s3 (s1=a s1=c) (s2=a s2=c) (s3=a s3=c))/***** 统计模块 *****/ { scores[s1-a]+=5; scores[s2-a]+=3; scores[s3-a]+=2; } } printf(Voting results:\n); /*****输出模块*****/ printf(a: %d\n,scores[0]); /*****结果输出*****/ printf(b: %d\n,scores[1]); printf(c: %d\n,scores[2]); first=0; seccond=1; for(i=0;i3;i++) { if(scores[i]scores[first]) { seccond=first; first=i; } else if(scores[i]scores[seccond]) seccond=i; } if(scores[first]!=scores[seccond]) { printf(祝贺 %c 当选冠军!\n,first+a); finish=1; } else printf(请重新投票!\n); } return 0; } 2启动程序: 编译、链接、运行: 输入投票人数:5 输入投票内容: a b c c a b c a a 该票无效! c b a c b a 成 功 运 行 ! 3.知识点集锦: 什么是结构化程序设计?比较其与对象化程序设计的区别。 答:结构化程序的概念首先是从以往编程过程中

文档评论(0)

1亿VIP精品文档

相关文档