标题:[求助]晕了,看看这个奇偶排序的程序吧
取消只看楼主
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
 问题点数:0 回复次数:8 
[求助]晕了,看看这个奇偶排序的程序吧

#include<iostream>


int sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]<x[k])k=j;
if(k!=i)
{t=x[k];x[k]=x[i];x[i]=t;}
}
return x[n];
}

int odd(int x[],int n)
{
for(int i=0;i<n;i++)
x[i]%2!=0;
return sort(x,n);
}

int even(int x[],int n)
{
for(int i=0;i<n;i++)
x[i]%2==0;
return sort(x,n);
}


void main()
{
int a[9];
int i;
printf("Please input the numbers:\n");
for(i=0;i<9;i++)
scanf("%d",&a[i]);
printf("The original numbers:\n");
for(i=0;i<9;i++)
printf("%d",a[i]);
printf("\n");
printf("The sorted numbers:\n%d%d\n",even(a,9),odd(a,9));
}


问题好像不好弄,大侠们帮帮忙吧
头脑都晕了。。。。。。。。。。。。。。。。

搜索更多相关主题的帖子: 奇偶 
2006-03-16 23:41
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
得分:0 
以下是引用feng1256在2006-3-17 0:18:00的发言:

嘿嘿~ 是你写的刚才那程序?

是啊,根据版主大人的提示,改进了点,但是还是不行,晕死了


好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 00:36
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
得分:0 
以下是引用303770957在2006-3-17 0:24:00的发言:
记住:以后要是真的想让人帮你最好是写上注释,要不然看起来很费事的!

er。。。。。。。。。不好意思呢,没有这个习惯,所以


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

谢谢啊,万分感激

等待着观摩


好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 00:42
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
得分:0 
以下是引用feng1256在2006-3-17 0:45:00的发言:
只要你撑得住~ 我可暂时不睡哦

撑得住~~~~~~~~怎么都看了版主的code再睡


好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 00:49
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
得分:0 
看~

好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 02:05
虫的传人
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
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
得分:0 
以下是引用feng1256在2006-3-17 6:20:00的发言:

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

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

吃饭去了

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


好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-17 12:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-50932-1-1.html




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

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