| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:求助,帮我看看这个程序,想了n次,都想不通,到底那里错了
只看楼主 加入收藏
ritftg
Rank: 1
来 自:上海
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-12-15
收藏
 问题点数:0 回复次数:4 
求助,帮我看看这个程序,想了n次,都想不通,到底那里错了
//根据用户的输入,进行随机分组……
#include"stdio.h"
#include"stdlib.h"
void main()
{
    int people,team,count,m;    //count是每组多少人,m用来记录当前随机的号码……
    int i,j,k=1;      //i是控制组的输出,j控制一组多少人的输出,k是数组A的下标。
    int a[200];    //定义一个数组用来记录输出过的号码。
    printf("请输入总人数:");
    scanf("%d",&people);        //接收要分组的总人数
    printf("你想分几组:");
    scanf("%d",&team);        //分多少组
    count=people/team;            //每组多少人  
    for(i=1;i<=team;i++)   //控制组的循环
    {
        printf("第%d组的成员为:\n",i);
        for(j=1;j<=count;j++,k++)    //控制每组的人数
        {
            a[0]=0;     //初始数组
            a[k]=m=rand()%people+1;     //随机一个数,1-people
            for(int d=0;d<=k;d++)     //从A[0]开始比较
            {
                if(a[d]==m)      //用当前的号码和以前出现过的号码进行比较
                    j--;       //出现过的话就 j--
                else
                    printf("%d\n",m);     //没有就输入这个数
                break;
            }
            
        }printf("\n");
    }    
}
搜索更多相关主题的帖子: include people count 
2007-12-21 14:17
万兽无缰
Rank: 1
等 级:新手上路
威 望:1
帖 子:296
专家分:0
注 册:2007-8-27
收藏
得分:0 
出现过的数你用J--,只是表示你把总数少了一个,并不是把那个出现的数删除了
因此在下面的组中还是可能出现这个数

女朋友问我想怎么死~~~
             我说我想"爽死"
2007-12-21 14:30
keloy
Rank: 2
等 级:论坛游民
帖 子:107
专家分:16
注 册:2007-9-27
收藏
得分:0 
恩,就是哪个样子的
2007-12-21 21:10
swiminfire
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2005-8-11
收藏
得分:0 
可以记住下标,然后把后面的数前移.这样可以避免随机选到的数再次被选到.

Get in first, and then word your ways out ! BY KIKI
2007-12-21 22:42
ritftg
Rank: 1
来 自:上海
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-12-15
收藏
得分:0 
噢,谢谢了!!~~
2007-12-22 10:22
快速回复:求助,帮我看看这个程序,想了n次,都想不通,到底那里错了
数据加载中...
 
   



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

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