| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 693 人关注过本帖
标题:大家给我看看
只看楼主 加入收藏
哈哈鱼
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-3-12
收藏
 问题点数:0 回复次数:11 
大家给我看看

各位帮我看看,这个题我的意思是想实现输入几个无序的数,自动排列由小到大的输出.但是结果却时对时不对,
#include "stdio.h"
main()
{
int* b,x,k,len=0,p;
b=malloc(10*sizeof(int));
for(len=0;len<5;len++)
{
scanf("%d",&x);
if(len==0) b[len]=x;
else
{for(k=0;k<=len;k++)
if(x<=b[k])
break;
for(p=len;p>=k;p--)
b[p+1]=b[p];
b[k]=x;

}

}
for(k=0;k<len;k++)
printf("%d\t",b[k]);
free(b);
} 到底哪里错了!!
程序比较简单,所以我就没写注释.

搜索更多相关主题的帖子: include 
2006-03-14 21:04
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
收藏
得分:0 
小弟测试了好几次,没有什么问题啊

2006-03-14 21:24
一一凌
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-2-16
收藏
得分:0 
难道是我的机子罢工了再帮我看看吧 ,呵呵,有时候是对的有时候又错了
2006-03-14 21:38
一一凌
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-2-16
收藏
得分:0 
哈哈鱼 ,你小子的话我已经帮你说了,不过我看确实好象没什么问题.不就是数据结构里面的列表么?对了,晚上把我的东西送上来
2006-03-14 21:40
哈哈鱼
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-3-12
收藏
得分:0 
确实是有的时候就错了,自动输出0出来,最大的那个就不显示.真是郁闷了
2006-03-14 21:43
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
以下是引用哈哈鱼在2006-3-14 21:04:00的发言:

各位帮我看看,这个题我的意思是想实现输入几个无序的数,自动排列由小到大的输出.但是结果却时对时不对,
#include "stdio.h"
main()
{
int* b,x,k,len=0,p;
b=malloc(10*sizeof(int));
for(len=0;len<5;len++)
{
scanf("%d",&x);
if(len==0) b[len]=x;
else
{for(k=0;k<len;k++)
if(x<=b[k])
break;
for(p=len;p>k;p--)
b[p]=b[p-1];
b[k]=x;

}

}
for(k=0;k<len;k++)
printf("%d\t",b[k]);
free(b);
} 到底哪里错了!!
程序比较简单,所以我就没写注释.

程序还可以精简


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-14 22:26
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

另外你这代码的风格挺晕的,而且使用不了那么大空间,你申请那么大空间干什么?


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-14 22:27
哈哈鱼
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-3-12
收藏
得分:0 
呵呵 谢谢了,说实话,我以前没怎么在意代码风格问题,因为我是自学的,所以有的东西我没意识到.呵呵 ,以后来养成.
2006-03-14 22:49
哈哈鱼
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-3-12
收藏
得分:0 
对了 我还想问 斑竹你现在工作了么?
2006-03-14 22:52
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
#include "stdio.h"
void main()
{
int* b,x,k,len=0,p;

b=malloc(10*sizeof(int));
for(len=0;len<5;len++)
{
scanf("%d",&x);
if(len==0)
b[len]=x;
else
{
for(k=0;k<len;k++)
if(x<=b[k])
break;
for(p=len;p>k;p--)
b[p]=b[p-1];
b[k]=x;

}

}
for(k=0;k<len;k++)
printf("%d\t",b[k]);
free(b);
}

程序没精简 ~但这样写看起来好点(个人认为),必要的缩进凸出可以体现出逻辑关系

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-14 22:53
快速回复:大家给我看看
数据加载中...
 
   



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

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