浏览 2816 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (15) :: 隐藏帖 (3)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-10
最后修改:2009-04-10
引用 题目如下: 公司选举领导,有三名候选人,有50名员工参加投票(不包括3名候选人,但可以参加选举), 选出获胜者,并输出三名候选人票数。 希望大家积极交流,共同进步。。。。。。。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-10
写了一个,不知道是不是这样:
#include <iostream> using namespace std; /* 公司选举领导,有三名候选人,有50名员工参加投票(不包括3名候选人,但可以参加选举), 选出获胜者,并输出三名候选人票数。 1.候选人:3名 甲、乙、丙 2.选举人数:50<=选举票<53 */ static int employees = 50; static int candidates = 3;//候选人 void election(int tpNum,char *ch) { int x(0),y(0),z(0); //如果是甲大的话:至少 17张选票,相当于一个组合性质的问题 //tpNum/3+1<= x <=tpNum while(*ch != '\0'){ char tc = *ch++; for(int i = tpNum/3+1;i <=tpNum;i++ ){ x = i; int ot = tpNum - x; for(int j = 0;j <= ot;j++){ y = j; z = ot - y; cout<<"选举获胜的人:"<<tc<<endl; cout<<"各人选票情况列表:"<<endl; if(tc == 'x') { cout<<tc<<" :"<<x<<"票"<<" "<<"y :"<<y<<" "<<"z :"<<z<<endl; }else if(tc == 'y') { cout<<tc<<" :"<<x<<"票"<<" "<<"x :"<<y<<" "<<"z :"<<z<<endl; }else{ cout<<tc<<" :"<<x<<"票"<<" "<<"y :"<<y<<" "<<"x :"<<z<<endl; } } } } } void totalPrint() { int total = employees+candidates; char ch[] = "xyz"; cout<<strlen(ch); for(int i = employees;i <=total;i++ ) { election(i,ch); } } int main() { totalPrint(); } |
|
返回顶楼 | |
发表时间:2009-04-11
上述解答主要是一个多情况概括, #include <iostream> using namespace std; static int employs = 50; static int candidates = 3; void xj(); void startTouPiao(int toupiaoCount); void xj(){ //候选人同时也有参加选举的权利 for(int i = employs;i <= employs+candidates;i++){ startTouPiao(employs); } } void startTouPiao(int toupiaoCount){ int t; int record[3] = {0}; for(int i = 1;i <= toupiaoCount;i++) { //cout<<"您是第"<<i<<"个投票选举人(请选择,0:甲;1:乙;2:丙三个候选人中选择一个)"<<endl; cout<<"您是第"<<i<<"个投票选举人(请选择,1:甲;2:乙;3:丙三个候选人中选择一个)"<<endl; cin>>t; while(t < 1 || t > 3)//这里不能取0 { cout<<"对不起,请在候选人范围之内投票\n"; cin>>t; } record[t-1]++; } int max = record[0]; int maxPerson = 0; for(int i = 1;i <3;i++ ){ if(max < record[i]){ max = record[i]; maxPerson = i; } } if(maxPerson == 1){ cout<<"选举投票数获得最多的是:"<<"甲"<<endl; }else if(maxPerson == 2){ cout<<"选举投票数获得最多的是:"<<"乙"<<endl; }else{ cout<<"选举投票数获得最多的是:"<<"丙"<<endl; } cout<<"选举结果为:\n"<<"甲:"<<record[0]<<" 乙:"<<record[1]<<" 丙:"<<record[2]<<endl; } int main(){ xj(); } |
|
返回顶楼 | |
发表时间:2009-04-14
三个数一比较,最大的就是了。。。还用写c++代码。。。。。。。
真正的东西,不是用哪个专门语言描述的。。。 计算机程序设计语言。。。是它们的统称。 能不能给点用构建性的题目,用上点数据结构,算法之类的,或者说面向对象的思维方式的题目啊。。。。。。。。。。。。。。。 感觉楼主真无聊。说实在,,这样的代码写一万遍,还不是个菜水。。。 |
|
返回顶楼 | |
发表时间:2009-05-04
daojin 写道 三个数一比较,最大的就是了。。。还用写c++代码。。。。。。。
真正的东西,不是用哪个专门语言描述的。。。 计算机程序设计语言。。。是它们的统称。 能不能给点用构建性的题目,用上点数据结构,算法之类的,或者说面向对象的思维方式的题目啊。。。。。。。。。。。。。。。 感觉楼主真无聊。说实在,,这样的代码写一万遍,还不是个菜水。。。 确实需要改进下,不要单纯的为了出题而出题,否则大家逐渐就没有了兴趣 |
|
返回顶楼 | |
发表时间:2010-02-23
daojin 写道 三个数一比较,最大的就是了。。。还用写c++代码。。。。。。。
真正的东西,不是用哪个专门语言描述的。。。 计算机程序设计语言。。。是它们的统称。 能不能给点用构建性的题目,用上点数据结构,算法之类的,或者说面向对象的思维方式的题目啊。。。。。。。。。。。。。。。 感觉楼主真无聊。说实在,,这样的代码写一万遍,还不是个菜水。。。 兄弟你已经超越了技术这个境界了,看你这么强,你帮我写个能把google服务器搞的死机的程序吧? 顺便说下google有几十万台电脑串连成的,兄弟你试试 |
|
返回顶楼 | |