| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 300 人关注过本帖
标题:各位帮忙解决啊,程序编号后却没有反应(上次已发,但回帖好像都不太正确)
只看楼主 加入收藏
超人会飞
该用户已被删除
收藏
已结贴  问题点数:20 回复次数:2 
各位帮忙解决啊,程序编号后却没有反应(上次已发,但回帖好像都不太正确)
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 软件 
2010-05-19 19:19
xiaomanaruto
Rank: 6Rank: 6
等 级:侠之大者
帖 子:79
专家分:443
注 册:2010-4-1
收藏
得分:20 
这是我给你修改后的,运行后正确,下面给你指出错误:
#include<stdio.h>
void main()
{
void sp(int x[],int n);
int a[3],i,*p;
p=a;
for(i=0;i<3;i++)
scanf("%d",(p+i));
sp(p,3);
for(i=0;i<3;i++)
{
printf("%d ",*(p+i));
}
getchar();
}

void sp(int x[],int n)
{
int i,j,t;
for(j=0;j<n-1;j++)//一共比较两趟
for(i=0;i<n-j-1;i++)//这是每比一趟的比较次数
{
if(x[i]<x[i+1])
   {
t=x[i];
x[i]=x[i+1];
x[i+1]=t;
   }
}
你的程序中循环的毛病我给你改了,你再看一下
2010-05-19 19:33
ww稻草人
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
帖 子:57
专家分:309
注 册:2010-5-11
收藏
得分:0 
你的程序第二个循环for(i=0;i<n-j;i++)的循环条件有问题,应该改为i<n-j-1;因为当j=0时,n-j=3-0=3,而当i=2进入循环时,i+1=3此时数组会越界。

我的博客  http://blog..cn/daocaoren020
2010-05-19 19:36
快速回复:各位帮忙解决啊,程序编号后却没有反应(上次已发,但回帖好像都不太正 ...
数据加载中...
 
   



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

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