| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1044 人关注过本帖
标题:初始化一个数组,赋值为10个随机数(1~100),倒叙这10个随机数之后,输出此数 ...
只看楼主 加入收藏
zapjun
Rank: 1
来 自:广西柳州
等 级:新手上路
帖 子:30
专家分:8
注 册:2013-12-25
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:11 
初始化一个数组,赋值为10个随机数(1~100),倒叙这10个随机数之后,输出此数组;
求大神看一看,瞧一瞧了!小的感激不尽!!!
初始化一个数组,赋值为10个随机数,倒叙这10个随机数之后,输出此数组!
比如:123456,这是倒叙!不是到这输出!
我是这样写的:
    srand(time(0));
    int a[10];
    int x=0;
    printf("原数:");
    while(x<10)
    {
        a[x]=rand()/1000;
        printf("%d ",a[x]);
        i++;
    }
    printf("\n");
    int j=0,t;
    while(j<5)
    {
        t=a[j];
        a[j]=a[9-j];
        a[9-j]=t;
        j++;
    }
    printf("倒叙:");
    int y=0;
    while(y<10)
    {
        printf("%d ",a[y]);
        y++;
    }
    printf("\n");
然后我一直在想其他的方法去倒叙,但是我已经憋了1天1夜了!就是没有想出来!到底第二种方法怎么做???
2013-12-26 16:27
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:8 
for(i = 0, j = 9; i < j; i++, j--) {
     t = a[i];
     a[i] = a[j];
     a[j] = t;
}
2013-12-26 16:41
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:7 
是这样的吗?
程序代码:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
main()
{
    int a[10],i=0,j,temp;
    srand(time(NULL));
    while(i<10){
        a[i]=1+rand()%100;
        i++;
    }
    printf("原数:\n");
    for(i=0;i<10;i++)
        printf("%d\t",a[i]);
    for(i=0;i<9;i++)            //排序(倒序)
        for(j=0;j<9-i;j++){
            if(a[j]<a[j+1]){
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    printf("倒序:\n");
    for(i=0;i<10;i++)
        printf("%d\t",a[i]);
    return 0;
}


图片附件: 游客没有浏览图片的权限,请 登录注册

三十年河东,三十年河西,莫欺少年穷!
2013-12-26 16:52
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:1 
额。是哪个倒叙?从大到小?还是从后到前?

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-26 17:05
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:1 
额。。冒泡排序。。。就可以。。。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-26 17:06
zapjun
Rank: 1
来 自:广西柳州
等 级:新手上路
帖 子:30
专家分:8
注 册:2013-12-25
收藏
得分:0 
回复 3楼 韶志
大神写的逻辑和我现在写的逻辑一样的,只是变量名不一样!如果要写出其他方法那就是另外一种逻辑了。

西游记告诉我既没有后台、也没有师傅!所以老实敲代码!
2013-12-26 17:21
zapjun
Rank: 1
来 自:广西柳州
等 级:新手上路
帖 子:30
专家分:8
注 册:2013-12-25
收藏
得分:0 
回复 6楼 zapjun
哎呀,不好意思!看错你的代码了,这也是一种,是冒泡吗?

西游记告诉我既没有后台、也没有师傅!所以老实敲代码!
2013-12-26 17:23
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
收藏
得分:1 
排好序后,想怎么输出都可以,

编写的程序,不能改变世界,却可以改变自己...
2013-12-26 18:13
li_local
Rank: 2
等 级:论坛游民
帖 子:35
专家分:59
注 册:2013-11-21
收藏
得分:1 
水一记 建议先在纸上写出程序流程图 需要什么算法再去找
基本的排序之类的算法很多很成熟,可以自己写或者copy一份网上的代码修改下
2013-12-26 20:44
zapjun
Rank: 1
来 自:广西柳州
等 级:新手上路
帖 子:30
专家分:8
注 册:2013-12-25
收藏
得分:0 
回复 3楼 韶志
srand(time(0));
    int s[10];
    int i=0;
    printf("原数:");
    while(i<10)
    {
        s[i]=rand()%100;
        printf("%d ",s[i]);
        i++;
    }
    printf("\n");
    int a=0,b=9,t;
    while(a<b)
    {
        t=s[a];
        s[a]=s[b];
        s[b]=t;
        a++;
        b--;
    }
    printf("倒叙:");
    int j=0;
    while(j<10)
    {
        printf("%d ",s[j]);
        j++;
    }
    printf("\n");
大神这是我想出的另外一个逻辑,你写的倒叙其实是比大小交换位子,我这个是直接把他们倒叙存储然后数去的。

西游记告诉我既没有后台、也没有师傅!所以老实敲代码!
2013-12-28 13:47
快速回复:初始化一个数组,赋值为10个随机数(1~100),倒叙这10个随机数之后,输 ...
数据加载中...
 
   



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

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