标题:[求助]怎么用指针写冒泡程序??用FOR和IF..
只看楼主
Junkaka
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-9-13
 问题点数:0 回复次数:7 
[求助]怎么用指针写冒泡程序??用FOR和IF..

请问各位.怎么用指针写冒泡程序??研究很久都失败了..只能自己把数字打入程序.直接打出排好的顺序..
但研究不出怎么任意输入数字然后排出来..



#include<stdio.h>
#define N 5

void main()
{

int i,j,temp;
int array[N]={96,12,36,54,2},*par_a;

par_a=array;

printf("排序前的顺序為:\n96,12,36,54,2 \n");

for(i=0;i<4;i++)

{

for(j=i+1;j<5;j++)

{

if(*(par_a+i)>*(par_a+j))

{

temp=*(par_a+i);

*(par_a+i)=*(par_a+j);

*(par_a+j)=temp;

}

}

}

printf("排序后的顺序为:\n");

for(i=0;i<5;i++)

{

printf("%d ",array[i]);

}

printf("\n");
fflush(stdin);
getchar();

}


[此贴子已经被作者于2007-9-29 20:55:36编辑过]

搜索更多相关主题的帖子: 指针 FOR 冒泡 par 
2007-09-28 15:02
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
把程序发上来看看.
你上怎么写的.

倚天照海花无数,流水高山心自知。
2007-09-28 15:13
Junkaka
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-9-13
得分:0 

请大家帮帮忙吖..别不理我吖..


2007-09-29 20:55
keloy
Rank: 2
等 级:论坛游民
帖 子:107
专家分:16
注 册:2007-9-27
得分:0 
你是不是想说长度不限的冒泡法排序,你去造一个双向链表就可以了。这个数据结构可以支持冒泡法的所有操作
2007-09-30 17:11
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
LZ是研究不出怎么任意输入数字然后排出来```


你可以建立一个大些的数组```然后先输入N的个数

然后一个一个输入到数组里````

再排序```

我能想到就这个``


女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-09-30 17:22
zp_0409
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-6-4
得分:0 
这个是选择法排序吧
我的理解是:
如果是相邻比较排序是冒泡法
如果是只拿一个一个数字,逐个和其他的比较,找出最小或者最大的,就是选择排序

2007-09-30 18:08
Junkaka
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-9-13
得分:0 

5楼和我想的就是一样..但我弄了很久还是不行..不知道要改哪里...改了几十个错误出来..


2007-09-30 19:38
keloy
Rank: 2
等 级:论坛游民
帖 子:107
专家分:16
注 册:2007-9-27
得分:0 

不会吧,你是想问这么可以自己输入数据在把它排出来???

四楼的就是正确答案,

要简单的话,就可以用一个n,来表示你要输入的数据的大小:

int i,n;
int num[100];

scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&num[i]);
然后在排就行了



2007-10-02 13:15



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




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

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