| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 957 人关注过本帖
标题:关于一维数组排序问题????
只看楼主 加入收藏
xy3zhong
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2004-12-6
收藏
 问题点数:0 回复次数:3 
关于一维数组排序问题????
程序如下:
#include<stdio.h>
main()
{
int i,j=0,k,a[11]={20,18,16,14,12,10,8,6,4,2};
for(i=0;i<10;i++) printf("%4d",a[i]);
printf("\n");
printf("Input k:");scanf("%d",&k);
while(a[j]>=k&&j<10) j++;
for(i=10;i>=j+1;i--)
a[i]=a[i-1];
a[j]=k;
for(i=0;i<11;i++)
printf("%4d",a[i]);
printf("\n");}
题目要求是从键盘输入一个数。插入到已按降序排列的数组中,要求按原来的排序规律插入!
 我从while(a[j]>=k&&j<10) j++;
for(i=10;i>=j+1;i--)这个部分到后面完全搞不明白。是什么意思啊 ?
搜索更多相关主题的帖子: printf 键盘 Input 
2005-06-30 17:48
xy3zhong
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2004-12-6
收藏
得分:0 
各位高手,展现一下啊
2005-07-01 00:07
ChenMo
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
收藏
得分:0 
while(a[j]>=k&&j<10) j++; 这句是找到插入点;
for(i=10;i>=j+1;i--) a[i]=a[i-1];  这个循环是从插入点开始向后移,这样能空出一个单元给插入的数;
a[j]=k;   这句便是插入该数,插入到插入点 j 的单元那。
再下一个循环是显示结果而已。

就是这样啊。

欢迎加入 MVC 技术讨论群(新群:90093426)
2005-07-01 00:23
xy3zhong
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2004-12-6
收藏
得分:0 
谢谢3楼的朋友,讲解的非常详细!!

一看就是道行深的。。呵呵。。
2005-07-01 10:35
快速回复:关于一维数组排序问题????
数据加载中...
 
   



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

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