| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 770 人关注过本帖
标题:[求助]用指针给一个数组排序的问题(解决了 谢谢)
只看楼主 加入收藏
zpeye
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-7-26
收藏
 问题点数:0 回复次数:5 
[求助]用指针给一个数组排序的问题(解决了 谢谢)

几天刚刚学了用指针
在做题的时候要求用指针进行冒泡排序我写的代码没用
能帮帮忙分析下吗?
#include <stdio.h>
#define N 6
void main()
{
int a[N],i,j,*p,*q,*k;

printf("请输入6个整数:");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
printf("输入的数是:");
for(i=0;i<N;i++)
{
printf("%d ",a[i]);
}
for(i=0;i<N;i++)
{
for(p=a,q=&a[1];q<N-1-i;q++,p++)
{
if(*p>*q)
{ //交换2个数
*k=*q;
*q=*p;
*p=*k;
}
}
}
printf("排序后的数:");
}

[此贴子已经被作者于2006-7-26 21:41:18编辑过]

搜索更多相关主题的帖子: 指针 
2006-07-26 20:54
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

#include <stdio.h>
#define N 6
void main()
{
int a[N],i,j,*p,*q,k,counter;

printf("请输入6个整数:");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
printf("输入的数是:");
for(i=0;i<N;i++)
{
printf("%d ",a[i]);
}
for(i=0;i<N;i++)
{
for(counter=1,p=a,q=&a[1];counter<N-i;q++,p++,counter++)
{
if(*p>*q)
{
k=*q;
*q=*p;
*p=k;
}
}
}
printf("排序后的数:");
for(i=0;i<N;i++)
{
printf("%d ",a[i]);
}
getch();
}

源程序主要有两个问题 :指针k为野指针,您在没指向任何内容就直接使用;
            指针不能比较,另外范围也算错了,是N-i,not N-1-i;


对不礼貌的女生收钱......
2006-07-26 21:24
zpeye
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-7-26
收藏
得分:0 
明白了 谢谢了哈

2006-07-26 21:36
hanlilong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-7-26
收藏
得分:0 
你太狠了,版主

←缺的就是錢↙窮的-別來↑玩的就是拽↓看不慣-滾開↙聊的就是MM↘↘醜的-不睬!耍的就是酷!
2006-07-26 23:03
hanlilong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-7-26
收藏
得分:0 
int *w;
w=a+N;
for(p=a;p<w;p++)
{if(*p>*q)
k=*q;
*q=*p;
*p=k;
}
我只写了循环部分,看我这个,没那么复杂,老谭书上的原作,比那个简单点,我认为,
版主看看,代替两个for循环体

←缺的就是錢↙窮的-別來↑玩的就是拽↓看不慣-滾開↙聊的就是MM↘↘醜的-不睬!耍的就是酷!
2006-07-26 23:11
hanlilong
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-7-26
收藏
得分:0 

我错了,5555
我只想用w=a+N代替counter


←缺的就是錢↙窮的-別來↑玩的就是拽↓看不慣-滾開↙聊的就是MM↘↘醜的-不睬!耍的就是酷!
2006-07-26 23:16
快速回复:[求助]用指针给一个数组排序的问题(解决了 谢谢)
数据加载中...
 
   



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

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