| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1122 人关注过本帖, 1 人收藏
标题:这程序问题太多,晕死了.
取消只看楼主 加入收藏
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏(1)
 问题点数:0 回复次数:2 
这程序问题太多,晕死了.

/*本题为模拟选班长,在1-4中选一个数投票,直到0结束为止, 要求1.如果直接按0,投票结束直接退出程序,2.显示出胜利者*/ #include <stdio.h> int xuanpiao(int num[]); void main() { static int num[4]; static int i,n,win; printf("注意!按'0'结束投票哦!\n请在(1~4)位候选人中投上您的一票:\n"); while(1) { scanf("%d",&n); if(n==1) num[0]++; else if(n==2) num[1]++; else if(n==3) num[2]++; else if(n==4) num[3]++; else if(n==0) { printf("投票结束!\n");break; } else printf("投票无效,请继续投票!"); } win=xuanpiao(num); printf("胜利者是:%d\n",win); }

int xuanpiao(int num[]) { static int max,i,xb; max=num[0]; for(i=1;i<4;i++) { if(max<num[i]) { max=num[i]; xb=i+1; } } return (xb); }

大家请运行一次,就知道问题所在了,1.输入0不投票,2.输入有并列多的票数.请指点此程序应该怎么改一下.

搜索更多相关主题的帖子: num int else 
2004-06-28 23:46
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 
zff_ff ,我希望这个程序有这样的功能,比如直接输入0,显示投票结束,然后退出程序,但我直接输入0后,显示为投票结束,胜利者是1.这是怎么回事啊.

学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-06-29 11:16
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 

#include <stdio.h> void main() { static int num[4]; int i,n,max; printf("注意!按'0'结束投票哦!\n请在(1~4)位候选人中投上您的一票:\n"); while(1) { scanf("%d",&n); if(n==1) num[0]++; else if(n==2) num[1]++; else if(n==3) num[2]++; else if(n==4) num[3]++; else if(n==0) { printf("投票结束!\n");break; } else printf("投票无效,请继续投票!"); } max=num[0]; for(i=1;i<4;i++) if(max<num[i]) max=num[i]; if(max==0) printf("还没有投票啊?!还能有结果^_^\n"); else { for(i=0;i<4;i++) if(max==num[i]) printf("班长为:%d\t票数为:%d\n",i+1,max); }

}

我用上面这种方法试了一下,也行,不过没有用函数方法做,呵呵,我想再引深一下,如果有并列的同学的话,我想在这几个并列的同学里面在进行投票,直到选出班长为止,请大家想想啊.

[此贴子已经被作者于2004-07-02 08:25:59编辑过]


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-07-02 08:25
快速回复:这程序问题太多,晕死了.
数据加载中...
 
   



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

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