标题:看看````
只看楼主
mcy_baby
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-24
 问题点数:0 回复次数:3 
看看````

输入五个数字,从小到大排序,排序好了然后再提示输入一个数字,重新排序!~~我已写好一种办法```有没有其他更好的办法??
#include<stdio.h>
#define N 5
#define Z 6
void main()
{
int i,num[Z],t,k,p=0;
char yorn;

printf("请输入%d个数字:\n",N);

for(i=0;i<N;i++)//此循环是用来输入N个数的
{
scanf("%d",&num[i]);
}

for(k=0;k<N-1;k++)//此嵌套循环运用冒泡排序排列数字
{
for(i=0;i<N-1-k;i++)
{
if(num[i]<num[i+1])
{
t=num[i];
num[i]=num[i+1];
num[i+1]=t;
}
}

}
printf("\n排序后:\n");

for(i=0;i<N;i++)//此循环为了显示排序后的数字
{
printf("%d\n",num[i]);
}

printf("\n是否要插入一个数(y or n):\n");
fflush(stdin);
scanf("%c",&yorn);
if (yorn!='y' && yorn!='n')//此if语句询问是否要插入一个数字
printf("输入错误,请输入y或者n!!!");
else if(yorn=='y')//选择y插入数字,否则退出程序
{
printf("请插入一个数:");
scanf("%d",&p);

for(i=0;i<N;i++)/*因为之前的数字已排列好,所以通过将插入的数字按顺序与他们进行比较
就可以得出该插入的数字应该插在哪个地方*/

{
if(p>num[i])
break;
}
for(k=N;k>i;k--)/*当已经找出插入位置,该循环可以使其位置以及后面的数字往后移动
使得该数可以从适当的位置插入*/

{
num[k]=num[k-1];
}
num[i]=p;

printf("\n插入后再排序:\n");
for(i=0;i<Z;i++)
{
printf("%d\n",num[i]);
}
}
else
printf("\n\n\n\n");


}

搜索更多相关主题的帖子: num 数字 define void 
2007-08-25 00:23
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
得分:0 

初步看来,用折半查找后插入即可~~~~~~~~~~~


You have lots more to work on! Never give up!c language!
2007-08-25 00:34
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
得分:0 
回复:(mcy_baby)看看````
首先你的程序是从大到小。不合题,不过关系不大。考试时就不一样啦。。。。。。

一分耕耘,一分收获。
2007-08-27 23:26
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
得分:0 

#include<stdio.h>
main()
{
int a[80],i,j,key,n,t;
key=t=0;
for(i=0;i<5;i++){
scanf("%d",&a[i]);
}

for(i=0;i<5;i++){
for(j=0;j<4;j++){
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
scanf("%d",&n);
for(i=0;i<5;i++){
if(n<a[i]){
key=i;
break;
}
}
for(i=0;i<key;i++){
printf("%d ",a[i]);
}
printf("%d ",n);
for(i=key;i<5;i++){
printf("%d ",a[i]);
}
}



一分耕耘,一分收获。
2007-08-27 23:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-165255-1-1.html




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

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