| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 391 人关注过本帖
标题:初学者,求简单的程序。
只看楼主 加入收藏
yjj598889481
Rank: 1
等 级:新手上路
帖 子:57
专家分:2
注 册:2011-4-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
初学者,求简单的程序。
编写程序,随机生成30个10-99之间的整数保存到数组中,在输出此数组后,要求删除数组中所有重复的元素之后再次输出。
搜索更多相关主题的帖子: 元素 
2011-04-07 20:09
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:10 
程序代码:
root@~ #cat randarray.c
#include <stdio.h>
#include <time.h>

int main (void) {
        srand((unsigned)time(NULL));
        int a[30];
        int i,j,k,len=30,random,count=0;

//生成一个30个大于10小于100的整数数组
        for(i=0;i<len;i++) {
                a[i]=rand()%(100-10)+10;
        }

//经典的排序(升序)
        for(i=0;i<len-1;i++) {
                for(j=i+1;j<len;j++) {
                        if(a[i]>a[j]) {
                                k=a[i];
                                a[i]=a[j];
                                a[j]=k;
                        }
                }
        }

//删除重复的元素
        i=0,j=0,k=0;
        while(i<len) {
                if(a[i]==a[i+1]) {
                        i++;
                        k++;
                        continue;
                }
                a[j]=a[i];
                j++;
                i++;
        }

//增加不重复的元素
        len-=k;
        do {
                random=rand()%(100-10)+10;
                for(i=0;i<len;i++) {
                        if(a[i]!=random) {
                                j++;
                        }
                }
                if(j==len) {
                        a[len]=random;
                        len++;
                        j=0;
                        count++;
                }else{
                        j=0;
                        continue;
                }
        }while(count!=k);

//打印
        for(i=0;i<len;i++) { printf ("%i ",a[i]); };printf ("\n");

        return 0;

}
root@~ #


测试:

root@~ #./randarray
13 16 17 18 24 25 28 37 38 41 48 50 53 54 59 60 62 68 69 72 73 74 77 79 81 86 92
 94 87 55
root@~ #./randarray
13 16 19 30 31 33 34 35 40 46 47 50 54 55 61 62 70 72 75 78 79 81 86 96 14 80 39
 58 88 53
root@~ #./randarray
13 16 19 30 31 33 34 35 40 46 47 50 54 55 61 62 70 72 75 78 79 81 86 96 14 80 39
 58 88 53
root@~ #./randarray
14 17 22 24 25 28 29 31 42 44 46 48 50 59 67 76 77 78 79 80 82 83 85 86 93 99 70
 36 23 52
root@~ #./randarray
14 17 22 24 25 28 29 31 42 44 46 48 50 59 67 76 77 78 79 80 82 83 85 86 93 99 70
 36 23 52
root@~ #

[ 本帖最后由 ansic 于 2011-4-7 23:04 编辑 ]

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-07 22:43
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:10 
楼上的强人啊!不过那程序不太好懂啊!

   唯实惟新 至诚致志
2011-04-07 23:00
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用qq1023569223在2011-4-7 23:00:54的发言:

楼上的强人啊!

⊙﹏⊙b汗

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-07 23:01
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
我说你真厉害!

   唯实惟新 至诚致志
2011-04-07 23:10
快速回复:初学者,求简单的程序。
数据加载中...
 
   



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

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