| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:看下我哪里错了?
只看楼主 加入收藏
熊猫or彦
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-11-8
收藏
 问题点数:0 回复次数:9 
看下我哪里错了?

题目是将4,7,3,2,9依照倒序或者顺序排列.
main()
{
int k,i,j;
int a[5]={4,7,3,2,9};
for(j=0;j<4;j++)
{for(i=0;i<5;i++)
{if(a[i]<a[i+1])
k=a[i];
a[i]=a[i+1];
a[i+1]=k;

}
}
for(i=0;i<5;i++)
{printf("%d.",a[i]);

}
getch();
}

2007-11-17 12:50
fujian26
Rank: 1
等 级:新手上路
帖 子:131
专家分:0
注 册:2007-4-3
收藏
得分:0 

我给你改了下,首先你很明显的错误if后的三个语句没有用大括号包起来,我改的是冒跑排序
#include "stdio.h"
main()
{
int k,i,j;
int a[5]={4,7,3,2,9};
for(j=1;j<5;j++)
for(i=0;i<5-j;i++)
{ if(a[i]<a[i+1])
{ k=a[i];
a[i]=a[i+1];
a[i+1]=k;}


}
for(i=0;i<5;i++)
{printf("%d.",a[i]);

}
getch();
}


退一步海阔天空.......
2007-11-17 13:02
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 

if语句出问题


樱花大战,  有爱.
2007-11-17 13:05
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
[CODE]

#include<stdio.h>
void
main()
{
int k,i,j;
int a[5]={4,7,3,2,9};
//顺序输出
for(j=1;j<5;j++)
{
for(i=0;i<5-j;i++)
{
if(a[i]>a[i+1])
{
k=a[i];
a[i]=a[i+1];
a[i+1]=k;
}
}
}
//倒序输出
for(i=0;i<5;i++)
{
printf("%d ",a[i]);

}
for(j=1;j<5;j++)
{
for(i=0;i<5-j;i++)
{
if(a[i]<a[i+1])
{
k=a[i];
a[i]=a[i+1];
a[i+1]=k;
}
}
}
for(i=0;i<5;i++)
{
printf("%d ",a[i]);

}

}

[/CODE]

樱花大战,  有爱.
2007-11-17 13:08
eakcon
Rank: 1
等 级:新手上路
帖 子:754
专家分:0
注 册:2007-11-7
收藏
得分:0 
月亮惹的禍
2007-11-17 15:38
清风如云
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-10-23
收藏
得分:0 
呵呵,问题会犯一些简单的错误呢。

希望是勇于实践的未来。
2007-11-17 15:51
刹那公子
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-9-26
收藏
得分:0 
选择排序法,比较简单明了的方法
main()
{
int k,i,j;
int a[5]={4,7,3,2,9};
for(j=0;j<4;j++)
{for(i=j+1;i<5;i++)
{if(a[j]<a[i])
{ k=a[j];
a[j]=a[i];
a[i]=k;
}
}
}
//从大到小
for(i=0;i<5;i++)
printf("%d.",a[i]);

//从小到大
for(i=4;i=0;i--);
printf("%d.",a[i]);

getch();
}


2007-11-17 16:22
zmfttkl
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-7-1
收藏
得分:0 
排序的错误:
#include<stdio.h>
int main()
{
int k,i,j;
int a[5]={4,7,3,2,9};
for(j=0;j<4;j++)
for(i=j+1;i<5;i++)
if(a[j]>a[i])
{
k=a[j];
a[j]=a[i];
a[i]=k;
}
for(i=0;i<5;i++)
printf("%d",a[i]);

return 0;
}

2007-11-17 20:21
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
题目是将4,7,3,2,9依照倒序或者顺序排列.

{if(a[i]<a[i+1])

下标越界.

倚天照海花无数,流水高山心自知。
2007-11-17 20:27
zmfttkl
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-7-1
收藏
得分:0 
哦,不好意思!没注意看题目!哈哈!

2007-11-17 20:39
快速回复:看下我哪里错了?
数据加载中...
 
   



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

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