| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1428 人关注过本帖
标题:一串数字排列大小
只看楼主 加入收藏
gui在坚持
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-9-9
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
一串数字排列大小
下面是一个将一串数字按从大到小排列的代码,但是我  c[j+1]=t;这句,整个都有点迷糊,有没有大佬能指点一下。
#include <stdio.h>
#include <stdlib.h>
#define  n  8
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void main()
{
    int c[n]={12,45,23,78,67,68,15,43};
    printf("%d\n",c[1]);
    int i,t,j;
    for(i=0;i<n;i++)//i从0到8
    {
        t=c[i];     //把第i个赋值给t
        j=i-1;      
        while(j>=0&&t>c[j])
        {
            c[j+1]=c[j];
            j--;
        }
     c[j+1]=t;                //不懂为什么
    }
    for(i=0;i<n;i++) printf("%d ",c[i]);
 }
搜索更多相关主题的帖子: 数字 排列 大小 int printf 
2018-09-09 17:50
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
收藏
得分:10 
你这个程序的算法是直接插入算法,c[j+1]=t,就是将待排序的数字放置于最终确定的位置。相关算法解释,可以参考:https://

126邮箱联系方式:no1xijin@126. com
2018-09-09 20:59
快速回复:一串数字排列大小
数据加载中...
 
   



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

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