下午耍得无聊,就写了几行代码!

Jinhao 2003-08-20 04:58:27
散分散分!!!!!!下面这个程序就是电脑摇奖。只要跟了贴,就有机会得分!!!!
最后抽取5个人得分!!!!!!!!!!!
总分500分!!!将由这5个人平分!!!!!!![条件所致,我将另开贴给分]

另外还有,改进代码者,也有机会得分!!!
总分250分!!!将随机抽取5个人改进代码者来平分这250分!!

快点跟贴,机会多多,双重中奖,赢得大粪!!!!!

注意:跟贴时写明你的楼数,虽然这有误差,但可以减轻我给分时的负担!!!谢谢合作!

本次活动由jinhao(辣子鸡丁)公证处公证 !!!
//////////Code
#include<iostream>
#include<windows.h>
using namespace std;

int WINNER_NUMBER=0; //得分的人数
int icount; //参加的人数
int *WINNER; //记录得分人的楼数
int *player; //记录参加人的楼数

void getwinner(int icount)
{
int j=0,a=0;
int TimeNow=GetTickCount();
while(1)
{
if(GetTickCount()-TimeNow>=10)
{
*(WINNER+a)=*(player+j);
*(player+j)=*(player+(--icount));
a++;
TimeNow=GetTickCount();
if(WINNER_NUMBER==a) break;
}
j++;
if(j>icount) j=0;
}
}

int main()
{
int i;
cout<<"Please input the number of people:";
cin>>icount;
cout<<"Please input the number of Winner:";
cin>>WINNER_NUMBER;
player=new int[icount];
WINNER=new int[WINNER_NUMBER];
cout<<"Please wait about "<<icount*0.01<<" second(s).Working now..."<<endl;
for(i=0;i<icount;i++) *(player+i)=i+1;
getwinner(icount);
for(i=0;i<WINNER_NUMBER;i++)
cout<<"WINNER's floor:"<<*(WINNER+i)<<endl;

delete []WINNER;
delete []player;
}


赶快来参加,消磨着无聊的下午,哈哈哈哈哈哈哈哈!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...全文
35 137 打赏 收藏 转发到动态 举报
写回复
用AI写文章
137 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudtarget 2003-09-12
  • 打赏
  • 举报
回复
:)
Jinhao 2003-08-22
  • 打赏
  • 举报
回复
to test7979(test7979)
你的是对的,应该把TimeNow弄成unsigned int,改成long也可以,有些编译器的int是4个字节,就不存在了这个问题了
5956 2003-08-22
  • 打赏
  • 举报
回复
x楼,哈哈
Meuck 2003-08-22
  • 打赏
  • 举报
回复
建议写一个数信誉次数的程序,就可以算到自已几楼了。
^^^
不过大家要刻减一啊 |-)
fishyqd 2003-08-22
  • 打赏
  • 举报
回复
接粪
Jinhao 2003-08-22
  • 打赏
  • 举报
回复
to ilovevc(ilovevc):
另外, 如果参与人数比较多,例如1000个,同时, winner少数几个,例如1个,
万一机器速度比较慢, 也就是10ms以内循环次数不会超过1000,
那么, 排在后面的就永远没有机会成为winner了...

这个程序只是娱乐一下,这方面也考虑到的...
-------------------------------------------------------------------------
来了,得分者下面5个,哈哈,
14,bmj()
20,ransion(西方失败)
27,Dragon132(Dragon)
56,hhxu(学习,学习,再学习!)
88,5956(齐人)
----------------------------------------------------
下面这5位兄弟,你们每人50
jack_wq(完美主义者—毛毛虫)
differ1(我来自未来)
liao2001(知之为知之,不知为不知。。。)
test7979(test7979)
tci168(金陵王)

哈哈


Jinhao 2003-08-22
  • 打赏
  • 举报
回复
to ilovevc(ilovevc):
不会越界的,因为有下面这句,
*(player+j)=*(player+(--icount));
其中 --icount;
yellowwolf 2003-08-22
  • 打赏
  • 举报
回复
我来接分啊。大哥,怎么也要给我点运气,我的分快没有了啊。
test7979 2003-08-22
  • 打赏
  • 举报
回复
TimeNow=GetTickCount()

正是因为 TimeNow是int 才导致你后面的循环判断永远正确

(有些编译器的int是4个字节,就不存在了这个问题了)
应当是说:只要编译器的int是4个字节,就一定有问题,
因为DWORD也是4个字节,
不幸的是现在大多数编译器int都是4个字节

改成long也是不对的,因为long就是int,也是4个字节
(至少大多数编译器如此)
potlee 2003-08-22
  • 打赏
  • 举报
回复
我也参加!
ilovevc 2003-08-22
  • 打赏
  • 举报
回复
另外, 如果参与人数比较多,例如1000个,同时, winner少数几个,例如1个,
万一机器速度比较慢, 也就是10ms以内循环次数不会超过1000,
那么, 排在后面的就永远没有机会成为winner了...
ilovevc 2003-08-22
  • 打赏
  • 举报
回复
感觉getwinner函数有一个错误:

.if(j > icount) j=0;
是不是应该改为
if(j >= icount) j=0; ?

否则, 当j==icount时,并不会置0, 那么数组*(player + j)就越界了.
lkjx82 2003-08-22
  • 打赏
  • 举报
回复
给分吧
哈哈
akun 2003-08-22
  • 打赏
  • 举报
回复
这个帖子应该转到水源,哈哈
lixin5678 2003-08-22
  • 打赏
  • 举报
回复
我的那颗心哪,哇凉哇凉的呀。。。
来晚了!
Jinhao 2003-08-22
  • 打赏
  • 举报
回复
忘说了一点,晚上7:00至8:00这段时间结贴,参加了兄弟到时的请关注该贴
Jinhao 2003-08-22
  • 打赏
  • 举报
回复
楼上兄弟们,注意了,准备结贴!!!!!!!!!!!!!!!!!!!!!
楼下报名的兄弟不记其入内

1,参加的人,按照下面的排列顺序。看看下面有没有你的名字

sevecol(看什么看...)
nirvana_li(东成西就)
jack_wq(完美主义者——白杨)
tigerfox(风之力:=初级程序员.奋斗.被开发中)
akun(疑无路)
ufouser(ufouser)
bm1408(嗔)
bitcof()
shangyunt(云涛)
oopig(面向对象的猪)
windlyzhang(大家共勉)
huanai2000(林西)
aflyinghorse()
bmj()
alexxing(赤铸)
tonybaobao(Tony宝宝)
fangjieke(jack)
skiffer(一叶扁舟)
sy_315(夏雨)
ransion(西方失败)
woxihuanbohe(我喜欢)
GhostAdz(鬼斧)
yinjintao(拼命学习=拼命考试)
Benny1(月下临风)
caoyun(风明)
jenycheng(我的爱人在这里!)
Dragon132(Dragon)
fupa0(跳蚤)
hellobcb(学海无涯酷作舟)
10yue(行尸走肉-饿)
jwboyR(持之以恒)
zhengjc(andi)
xin8525(新)
5w5w(柔水剑)
rainbowinfog(浊清)
Smartdoggie(Smartdog)
tteasy(多多)
bensu(变术)
LoopyPuzzle(浪子无名)
cnxiaohai(相声独一处)
wkoji(杨威利)
goodboy1881(三井)
qhgary(Shining)
differ1(我来自未来)
fastzch(红领巾)
ironic(不知)
Wendydd(温迪)
Bigstorns(图们江计算机程序编制小组)
zhz44(任我行)
paulxj(该死的分数线,我决定自学)
Neoking(尼奥)
ljfwarrior(蓝天)
jim77(【站在牛顿的肩膀上】)
yuxh312(绝域冰狼)
hhxu(学习,学习,再学习!)
ddbear(ddbear)
wbh0360(剑仙)
yzb1000(zealot)
cullstar(撕空摘星)
Bandry(菜鸟-舍我其谁)
cgsw12345(cgsw)
ftp123(帕杰洛,房子,!陪心爱的女人平淡过一生)
blackhunter1(FallEnStar)
xhp5678(晓攀)
snakered(天下无敌)
acefr()
liao2001(知之为知之,不知为不知。。。)
njtu(天地不容)
test7979(test7979)
wshcdr(DD)
fancy123(weixi)
zhshtan(坦坦)
cityvagrant(城市过客)
Kennly(周周)
chekoov()
tci168(金陵王)
panther8888(c\c++)
daisydew(菜鸟)
wangyongli(程序++)
panv()
lemon520(穷鬼+菜鸟=我!)
sky51fly(天天天蓝)
Salam2001(高iQ的冰)
tyjk(天涯)
fishyqd(fishy)
Meuck(暗流,如果你相信什么,你就应当有所了解)
5956(齐人)
xiaoleixyz(风云)
prettynacl(lulu)
igloos(摩登大圣)
lplpzhuzhu(猪猪)
gucl79(gucl)
iampolaris(北极星)

========================================
2, 另外的250分散给下面5个兄弟!
jack_wq(完美主义者—毛毛虫)
differ1(我来自未来)
liao2001(知之为知之,不知为不知。。。)
test7979(test7979)
tci168(金陵王)
iampolaris 2003-08-22
  • 打赏
  • 举报
回复
1024楼
^_^
呵呵
gucl79 2003-08-22
  • 打赏
  • 举报
回复
我来
lplpzhuzhu 2003-08-22
  • 打赏
  • 举报
回复
哈哈
加载更多回复(117)

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧