注册 登录
编程论坛 C++教室

我花了半个多小时写的程序 拿来秀秀!!!

xxlovemf 发布于 2010-09-28 16:42, 1349 次点击
至于这个程序什么功能
自己多运行几遍看看
找找规律就知道了
呵呵
程序代码:
#include <iostream>
#include <ctime>
using namespace std;
void Sort(int *data,const int SUM);
void Unique(int *data,const int SUM)
{
    int curr_data,flag;
    size_t num=0;
    srand((unsigned)time(NULL));
    while(num<SUM)
    {
        curr_data=rand()%10;
        flag=1;
        for(size_t ix=0;ix<SUM;++ix)
        {
            if(curr_data==data[ix])
            {
                flag=0;
                break;
            }
        }
        if(flag)
        {
            data[num++]=curr_data;
        }
    }
    Sort(data,SUM);
}


void Sort(int *data,const int SUM)
{
    int ix,jx,tt;
    for(ix=1;ix<SUM;ix++)
    {
        for(jx=0;jx<SUM-1;jx++)
        {
            if(data[jx]>data[jx+1])
            {
                tt=data[jx];
                data[jx]=data[jx+1];
                data[jx+1]=tt;
            }
        }
    }
    for(ix=0;ix<SUM;ix++)
    {
        cout<<data[ix]<<" ";
    }
    cout<<endl;
}
int main()
{
    const int SUM=5;
    int data[SUM]={-1,-1,-1,-1,-1};
    Unique(data,SUM);
    return 0;
}

18 回复
#2
douzi886112010-09-28 17:40
我想试着运行一下可是不行
#3
最近不在2010-09-29 09:45
排序可以改改
#4
yangang22010-09-29 16:24
看不懂
#5
xxlovemf2010-09-29 20:43
难道没有人看出规律吗
这个程序可以延伸为彩票自动选号啊
#6
vandychan2010-09-30 00:07
LZ你真是太无聊了
#7
xxlovemf2010-09-30 08:53
回复 6楼 vandychan
这不叫无聊
你能写出来吗
写不出来就虚心学
不要乱说
#8
stguotao2010-10-01 20:02
看得有点吃力,能加点注释吗?
#9
vandychan2010-10-01 22:17
以下是引用xxlovemf在2010-9-30 08:53:11的发言:

这不叫无聊
你能写出来吗
写不出来就虚心学
不要乱说
LZ厉害 本人对你的爱慕 犹如滔滔江水.........
#10
xxlovemf2010-10-02 16:29
回复 9楼 vandychan
呵呵 开个玩笑
多谢指点
#11
xxlovemf2010-10-02 16:30
回复 8楼 stguotao
这么简单的程序也加注释??
#12
小葳的宝宝2010-10-02 20:39
还真没看懂。。。。。。我还是太年轻了!!
#13
zaq20082010-10-05 14:14
程序代码:
#include <iostream>
#include <ctime>
using namespace std;
void Sort(int *data,const int SUM);
void Unique(int *data,const int SUM)
{
    int curr_data,flag;
    size_t num=0;
    srand((unsigned)time(NULL));//为随机数函数rand()提供种子
    while(num<SUM)
    {
        curr_data=rand()%10;//生产随机数 并求余赋值
        flag=1;
        for(size_t ix=0;ix<SUM;++ix)
        {
            if(curr_data==data[ix])//判断随机数求余后与之前的不相等
            {
                flag=0;
                break;
            }
        }
        if(flag)
        {
            data[num++]=curr_data; \\存储并num加1
        }
    }
    Sort(data,SUM);
}


void Sort(int *data,const int SUM)
{
    int ix,jx,tt;
    for(ix=1;ix<SUM;ix++)//排序
    {
        for(jx=0;jx<SUM-1;jx++)
        {
            if(data[jx]>data[jx+1])
            {
                tt=data[jx];
                data[jx]=data[jx+1];
                data[jx+1]=tt;
            }
        }
    }
    for(ix=0;ix<SUM;ix++)//输出
    {
        cout<<data[ix]<<" ";
    }
    cout<<endl;
}
int main()
{
    const int SUM=5;
    int data[SUM]={-1,-1,-1,-1,-1};
    Unique(data,SUM);
    return 0;
}
#14
jment2010-10-05 23:05
哈哈哈。。。小毛孩真好笑~
#15
tansuo2010-10-07 21:43
这个程序先随机产生了5个数,后又对这5个数进行了排序。最后产生一个5位数,这个5位数从左至右按从小到大排列。
#16
yuanqun07342010-10-09 14:53
你花了半个小时写,我用一个小时测试通不过,while(num<SUM)不匹配
#17
pangding2010-10-10 02:19
写个程序调试一般都要花好长时间。我花十几分钟写的程序要调试几个小时的情况都有(不过用的是我不很熟悉的语言),总之写出个能跑的程序是很不错的,楼主继续加油哦~
#18
2010-10-11 21:48
看了下  好像就是随即一组 0-9  数字的数组


说实话代码太简单了    楼主不如  给他加个可选的项    就是让0 - 9只出现一次    每次随即  缩小范围
#19
2010-10-11 21:51
以下是引用xxlovemf在2010-10-2 16:30:00的发言:

这么简单的程序也加注释??
不同意你这句话     你这句话让我想起    微软的C编译器里实现C/C++的源码了    注释没几条   还写了一大拓

或许写编译器的人 也和你的想法一样  代码很简单 不太需要注释



而微软自己的东西  C#和MFC    源码的风格 注释 让人看的很舒服   从这点可看出  微软太小气了



[ 本帖最后由 cacker 于 2010-10-11 21:52 编辑 ]
1