我这个冒泡法为什么不是想要的输出呢?

shiguojie19892 2012-11-22 08:08:16
#include <stdio.h>

#include "size_list.h"

//对sum数组中大小对比,并把最大的数的数组序号送给re[1],re[2]...(冒泡法)
// 要求不能改变sum[]数组中的值,用指针完成。

void size_list(int sum[],int re[])
{
int *ps=sum;
int *pr=re;
int *temp;
int i=0;
int j=0;

for(;STUDENTS-1 > i; i++)
{
for(;&sum[STUDENTS-1] > ps; ps++,pr++)
{
if (*ps > *(ps+1))
{
temp=ps;
ps=(ps+1);
ps=temp;
}
*pr = ps-(&sum[0]);
}
}
}

哪里写的有问题啊?
...全文
176 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiguojie19892 2012-11-22
  • 打赏
  • 举报
回复
引用 12 楼 zhuankeshumo 的回复:
引用 8 楼 zhuankeshumo 的回复:temp=*ps; *ps=*(ps+1); *ps=temp; temp=*ps; *ps=*(ps+1); *(ps+1)=temp;这个
好的 谢谢!我再测试一晚上 明天结贴
newtee 2012-11-22
  • 打赏
  • 举报
回复
引用 8 楼 zhuankeshumo 的回复:
temp=*ps; *ps=*(ps+1); *ps=temp;
temp=*ps; *ps=*(ps+1); *(ps+1)=temp;这个
shiguojie19892 2012-11-22
  • 打赏
  • 举报
回复
引用 10 楼 shiguojie19892 的回复:
引用 7 楼 zhuankeshumo 的回复:引用 5 楼 shiguojie19892 的回复:引用 3 楼 zhuankeshumo 的回复:(ps+1)=temp; 我这样写为什么报错呢? *(ps+1)=temp; 我前面temp是指针变量,而且我是想只改变指针的指向而不动sum中的值。这样能做到吗?
不想啊 为什么还是报错呢?
shiguojie19892 2012-11-22
  • 打赏
  • 举报
回复
引用 7 楼 zhuankeshumo 的回复:
引用 5 楼 shiguojie19892 的回复:引用 3 楼 zhuankeshumo 的回复:(ps+1)=temp; 我这样写为什么报错呢? *(ps+1)=temp;
我前面temp是指针变量,而且我是想只改变指针的指向而不动sum中的值。这样能做到吗?
shiguojie19892 2012-11-22
  • 打赏
  • 举报
回复
引用 4 楼 fugeleigao528 的回复:
引用 3 楼 zhuankeshumo 的回复:(ps+1)=temp; +!
什么意思?
newtee 2012-11-22
  • 打赏
  • 举报
回复
temp=*ps; *ps=*(ps+1); *ps=temp;
newtee 2012-11-22
  • 打赏
  • 举报
回复
引用 5 楼 shiguojie19892 的回复:
引用 3 楼 zhuankeshumo 的回复:(ps+1)=temp; 我这样写为什么报错呢?
*(ps+1)=temp;
shiguojie19892 2012-11-22
  • 打赏
  • 举报
回复
引用 5 楼 shiguojie19892 的回复:
引用 3 楼 zhuankeshumo 的回复:(ps+1)=temp; 我这样写为什么报错呢?
是不是我前面也有写错的地方呢の?
shiguojie19892 2012-11-22
  • 打赏
  • 举报
回复
引用 3 楼 zhuankeshumo 的回复:
(ps+1)=temp;
我这样写为什么报错呢?
olderma 2012-11-22
  • 打赏
  • 举报
回复
引用 3 楼 zhuankeshumo 的回复:
(ps+1)=temp;
+!
newtee 2012-11-22
  • 打赏
  • 举报
回复
(ps+1)=temp;
newtee 2012-11-22
  • 打赏
  • 举报
回复
 temp=ps;
                ps=(ps+1);
                ps=temp;
错了
shiguojie19892 2012-11-22
  • 打赏
  • 举报
回复
/* initialization.h */

#define STUDENTS 3
#define SUBJECT 4
/* size_list.h */

#include "initialization.h"

#ifndef __SIZE_LIST_H__
#define __SIZE_LIST_H__

void size_list(int sum[],int re[]);

#endif

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧