| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1463 人关注过本帖
标题:``挑战C程序编程``
只看楼主 加入收藏
softwarelan
Rank: 1
等 级:新手上路
帖 子:209
专家分:0
注 册:2005-6-1
收藏
 问题点数:0 回复次数:18 
``挑战C程序编程``

用C语言编写一个程序,实现入下功能:
有一个班采用民主投票方式推选班长,班长候选人共4位,每个人代号分别位1,2,3,4。每名同学填写一张选票,写上同意作为班长的一位候选人的代号。统计每一位班长候选人所得到的选票数,其中每张选票上的所填代号由键盘输入,数字0作为输入终止标志。

要求输出选票统计结果及最终哪位候选人当选为班长。求获得选票最多的候选人的功能要求用函数实现。
具体要求如下:
1、 编写主程序,接收有效的选票,要求:(请参照下面的“运行结果示意图”)
1)、输入数据前,给出如下提示信息:
开始选举。请注意:有效候选人代号为:1,2,3,4。
请输入班长候选人代号(数字0结束):
2)、循环执行接收键盘输入的班长候选人代号,直到输入的数字为0,结束选票的输入工作
3)、在接收每次输入的选票后要求验证改选票是否有效,即:如果输入的数不是0,1,2,3,4这5个数字之一,应显示出错误提示信息如下:
此选票无效
4)、在接收选票的同时统计每个候选人的得票数
5)、当接受到输入得数字是0时,选举结束。屏幕输出提示信息:
选举结束
6)、输出统计每个候选人获得票数得结果
7)、调用函数process(),获取得票最多的候选人(也就是最终的当选者)的代号
8)、输出选举的最终结果,即哪个候选人当选为班长。
2、 编写函数process()求获得选票最多的候选人代号:
1)、比较4位候选人所得的选票数,求得选票数最多的候选人代码;
2)、函数返回选票最多的候选人代码;
3、 在实现功能的同时,要求注意编程规范:程序逻辑分明,关键代码有注释,书写有缩进。


[此贴子已经被作者于2006-12-27 22:51:36编辑过]

搜索更多相关主题的帖子: 挑战 
2006-12-27 21:04
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
int a[5]={0,0,0,0,0};//记录各候选人的得票数.
while(1)
{
scanf("%d",&n);
if(n==0)
{
printf("投票结束\n");
break;
}
if(n>=1&&n<=4)
{
a[n]++;
}
else
{
printf("此票无效\n");
}
}

倚天照海花无数,流水高山心自知。
2006-12-27 21:31
softwarelan
Rank: 1
等 级:新手上路
帖 子:209
专家分:0
注 册:2005-6-1
收藏
得分:0 
嗯``程序是编好了```可是没有按照要求去编``嘻嘻``没有达到那个目的```

再详细研究研究```

Not a hero until you reach The Greatwall!
2006-12-27 22:17
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

不想写的这么详细.


倚天照海花无数,流水高山心自知。
2006-12-27 22:51
softwarelan
Rank: 1
等 级:新手上路
帖 子:209
专家分:0
注 册:2005-6-1
收藏
得分:0 
``看到那张图了吗```?

Not a hero until you reach The Greatwall!
2006-12-27 22:52
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
有什么特殊的含义吗?不明白其中的意思.

倚天照海花无数,流水高山心自知。
2006-12-27 23:11
wyzn12
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-10-28
收藏
得分:0 
不就是老谭书上面的例题嘛

新王登基,血流成河!
2006-12-28 03:07
hzqcsds
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-2-20
收藏
得分:0 
这是偶写的,刚学的,写的不好,多多指教
#include<stdio.h>
void process(int a[]);
void main()
{
int b[4]={0,0,0,0},i,n;
char c;
printf("1、班长A 2、班长B 3、班长C 4、班长D 0、结束");
do
{
printf("\n选出你理想的班长代码:");
scanf("%d",&i);
if(i<5&&i>0)
b[i-1]++;
if(i<0||i>=5)
printf("此选票无效");
}while(i!=0);
printf("\n投票结束!\n");
printf("班长A的选票数是:%d",b[0]);
printf("\n班长B的选票数是:%d",b[1]);
printf("\n班长C的选票数是:%d",b[2]);
printf("\n班长D的选票数是:%d",b[3]);
process(b);
}
void process(int a[])
{
int max,i;
max=a[0];
for(i=1;i<4;i++)
{
if(max<a[i])
max=a[i];
}
printf("\n最后的班长人选的代码是:%d\n",max);
}

/p/2005/0723/2389/b_23A05093F3FC5ADC.jpg" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://photo./p/2005/0723/2389/b_23A05093F3FC5ADC.jpg');}" onmousewheel="return imgzoom(this);" alt="" />
2006-12-28 21:23
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 
很简单的一题

题目却吓人.....

菜鸟~~请多指教~~
2006-12-29 13:47
softwarelan
Rank: 1
等 级:新手上路
帖 子:209
专家分:0
注 册:2005-6-1
收藏
得分:0 
```是吗```?

Not a hero until you reach The Greatwall!
2006-12-29 16:56
快速回复:``挑战C程序编程``
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017037 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved