| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1623 人关注过本帖
标题:[求助]晕了,看看这个奇偶排序的程序吧
只看楼主 加入收藏
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
收藏
得分:0 
看~

好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 02:05
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

我一会用你的思路写个,我这太麻烦
[CODE]
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#define N 10
void main()
{
int *a,i,j;

a=(int *) malloc (N*sizeof(int));
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
if(a[i]==-1)
i--;
}


for(i=0;i<N;i++)
{
if(a[i]%2==0)
{
for(j=0;j<N;j++)
{
if(a[j]%2==0&&a[j]<a[i])
break;

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

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

free(a);
getch();
}


[/CODE]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-17 02:06
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
收藏
得分:0 
呵呵,辛苦版主啦
都那么晚了,还在拼搏

好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 02:15
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
收藏
得分:0 
以下是引用feng1256在2006-3-17 2:06:00的发言:

我一会用你的思路写个,我这太麻烦
[CODE]
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#define N 10
void main()
{
int *a,i,j;

a=(int *) malloc (N*sizeof(int));
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
if(a[i]==-1)
i--;
}


for(i=0;i<N;i++)
{
if(a[i]%2==0)
{
for(j=0;j<N;j++)
{
if(a[j]%2==0&&a[j]<a[i])
break;

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

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

free(a);
getch();
}





[/CODE]



这个确实有够复杂的,在没有注释的情况下,要看懂还得花费不少时间呢
晚了,先睡觉去
感激版主的帮助


好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 02:32
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
一会试写简单的~ 那个单数组可以实现太麻烦了,没什么用,就没写注释

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

单一数组实现的,这个好些
[CODE]
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#define N 10
void main()
{
int *a,i,j,m,k=0,n=0;

a=(int *) malloc (N*sizeof(int));
for(i=0;i<N;i++)
{
scanf("%d",&m);
if(m%2==0)
{
a[n]=m;
if(i!=0)
{
for(j=n-1;j>=0&&a[j]>m;j--)
a[j+1]=a[j];
a[j+1]=m;
}
n++;
}
else
{
a[N-1-k]=m;
if(i!=0)
{
for(j=N-k;j<N&&a[j]<m;j++)
a[j-1]=a[j];
a[j-1]=m;
}
k++;
}
}
for(i=0;i<N;i++)
printf("%5d",a[i]);
getch();
}



[/CODE]


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

刚睡醒~这个又忘了写注释

思路很简单~ 分别用插入法 从数组首 数组尾 存入偶数 和奇数

吃饭去了


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-17 06:20
feixing
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-2-11
收藏
得分:0 
这个应该很简单的
怎么回有那么多代码
另外
我觉得楼主的错误很多

学海无涯,为求成功
2006-03-17 11:53
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
收藏
得分:0 
以下是引用feng1256在2006-3-17 6:20:00的发言:

刚睡醒~这个又忘了写注释

思路很简单~ 分别用插入法 从数组首 数组尾 存入偶数 和奇数

吃饭去了

呵呵,这个简单很多,也很容易明白
真是辛苦版主了


好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 12:10
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
得分:0 
怎么这么复杂,还用到了动态分配,我还不怎么懂,不过我觉得楼主的思路不错,挺模块化的,只不过在实现上有问题

2006-03-17 13:01
快速回复:[求助]晕了,看看这个奇偶排序的程序吧
数据加载中...
 
   



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

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