求高手指点一下c++中的简单排序问题,自己写了有错,但自己找不出错哪了 5

我已经算四个数,分别代表A,B,C,D四个球队的积分情况,分别是Ap,Bp,Cp,Dp,要求把他们排序,如果分数一样,则还要看净胜球数,以下是我写的,运行有错,intpo... 我已经算四个数,分别代表A, B, C, D四个球队的积分情况, 分别是Ap, Bp, Cp, Dp, 要求把他们排序, 如果分数一样,则还要看净胜球数, 以下是我写的,运行有错,
int point[4],j,temp;;
point[0]=Ap;point[1]=Bp;point[2]=Cp;point[3]=Dp;

for(i=0;i<=3;i++){
for(j=0;j<=3-i;j++)

if(point[j]>point[j+1])
{
temp=point[j];
point[j]=point[j+1];
point[j+1]=temp;

}
}

for(i=0;i<=3;i++)
{cout<<point[i]<<endl;}
望高手指点!!!! 急啊 !!!
展开
 我来答
yvhpfiipfi
2010-03-20 · TA获得超过2912个赞
知道小有建树答主
回答量:880
采纳率:50%
帮助的人:707万
展开全部
你好!

你的数组是int的,但是在第2行对元素赋值的时候,Ap、Bp、Cp、Dp这四个是什么?你既没有说明,也没有赋值。在以下的代码中,也根本没有使用到这四个标识符。

我没有看到你的所有代码,不知道你的表头是怎样写的,请把所有的代码告诉大家吧,或许,大家能帮助你从其他代码中找出更多错误的原因。

其次,请注意程序的正确性,我复制这段代码到VC6的时候,发现你有几处笔误的地方,比如第 1 行,就是变量声明的那一行,多了个分号。

另外,程序要美观,要悬挂对齐整洁,花括号的使用要统一为一种方式,要么是左右括号各占一行,要么都统一成左右都在一行,中间夹代码。

希望对你有用,谢谢
yx打雷了下雨了
2010-03-29
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
主要问题是你的排序方法有问题
for(i=0;i<=3;i++){
for(j=0;j<=3-i;j++)
当i=0时 point[j]>point[j+1] point数组会越界
应该把for(j=0;j<=3-i;j++)
改成for(j=0;j < 3-i;j++)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式