| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5091 人关注过本帖
标题:输入N及N格整数(N<20),按奇数升序,偶数降序排列输出
只看楼主 加入收藏
Hong91
Rank: 2
等 级:论坛游民
帖 子:28
专家分:19
注 册:2010-3-27
结帖率:71.43%
收藏
已结贴  问题点数:20 回复次数:9 
输入N及N格整数(N<20),按奇数升序,偶数降序排列输出
RT。要用数组的吧。函数什么的我都不会。现在只会数组。我写出来的不对。不知道该怎么写
搜索更多相关主题的帖子: 偶数 整数 排列 输出 输入 
2010-04-24 14:09
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
你用的是什么编译器?
我用的是vc6.0
我给你写一个,你看是否可以符合你的要求。

[ 本帖最后由 南国利剑 于 2010-4-24 14:32 编辑 ]

南国利剑
2010-04-24 14:26
Hong91
Rank: 2
等 级:论坛游民
帖 子:28
专家分:19
注 册:2010-3-27
收藏
得分:0 
回复 2楼 南国利剑
我用的是C-FREE 4.0
2010-04-24 14:28
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:12 
程序代码:
#include<iostream>
using namespace std;


void main()
{
    int n,j=0,k=0,t;
    cout<<"请输入你要处理的数据的个数:";
    cin>>n;

    int *a,*js,*os;
    a=(int*)new int[n];
    js=(int*)new int[n];
    os=(int*)new int[n];

    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        if(0==a[i]%2)
        {
            os[j]=a[i];
            j++;
        }
        else
        {
            js[k]=a[i];
            k++;
        }
       }
    for(int m=1;m<j;m++)
    {
        for(i=0;i<j-1;i++)
        if(os[i]<os[i+1])
        {t=os[i];os[i]=os[i+1];os[i+1]=t;}
    }
    for(m=1;m<k;m++)
    {
        for(i=0;i<k-1;i++)
        if(js[i]>js[i+1])
        {t=js[i];js[i]=js[i+1];js[i+1]=t;}
    }
    cout<<"输出奇数:"<<endl;
    for(i=0;i<k;i++)
        cout<<js[i]<<ends;

    cout<<endl;

    cout<<"输出偶数:"<<endl;
    for(i=0;i<j;i++)
        cout<<os[i]<<ends;
    
     delete[]a;
     delete[]os;
     delete[]js;
    system("pause");
   
}


[ 本帖最后由 南国利剑 于 2010-4-24 15:03 编辑 ]

南国利剑
2010-04-24 15:00
Hong91
Rank: 2
等 级:论坛游民
帖 子:28
专家分:19
注 册:2010-3-27
收藏
得分:0 
回复 4楼 南国利剑
哇。好复杂呃。。能不能只用数组啊。那个我看不懂呃。。
2010-04-24 15:01
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
我用vc写的,我调试过了,没有问题。
你试试,能不能在你的环境下运行。
如果不行的话,你就下一个vc吧。
现在大部分都用vc了
请多多指教。

南国利剑
2010-04-24 15:02
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
回复 5楼 Hong91
我就是只用了数组啊
只是你要求还要有顺序,
所以还要进行排序,所以比较复杂。

只不过我的数组时动态申请得到的,这样比较不会浪费内存。
你也可以直接定义一个大一点的数组就可以了,但是直接定义的静态数组,要小心数组越界。


[ 本帖最后由 南国利剑 于 2010-4-24 15:07 编辑 ]

南国利剑
2010-04-24 15:05
Hong91
Rank: 2
等 级:论坛游民
帖 子:28
专家分:19
注 册:2010-3-27
收藏
得分:0 
回复 7楼 南国利剑
恩恩。我研究下哈~
2010-04-24 15:16
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
收藏
得分:8 
程序代码:
#include <stdio.h>
#include <stdlib.h>


int main(void)
{
    int n,j=0,k=0,t,m,i;
    printf("请输入你要处理的数据的个数:");
    scanf("%d",&n);

    int *a,*js,*os;
    a = (int*)malloc(sizeof(int)*n);//动态分配数组a的空间
    js = (int*)malloc(sizeof(int)*n);
    os = (int*)malloc(sizeof(int)*n);

    for (i=0;i<n;i++)  //从键盘输入N个数字,分为奇数和偶数
    {
        scanf("%d",&a[i]);
        if (a[i]%2 == 0)
        {
            os[j]=a[i];
            j++;
        }
        else
        {
            js[k]=a[i];
            k++;
        }
    }
    for (m=1;m<j;m++)//对偶数降序排列
    {
        for (i=0;i<j-1;i++)
            if (os[i]<os[i+1])
            {
                t=os[i];
                os[i]=os[i+1];
                os[i+1]=t;
            }
    }
    for (m=1;m<k;m++)//对奇数升序排列
    {
        for (i=0;i<k-1;i++)
            if (js[i]>js[i+1])
            {
                t=js[i];
                js[i]=js[i+1];
                js[i+1]=t;
            }

    }
    printf("输出奇数:");
    for (i=0;i<k;i++)
        printf("%d\t",js[i]);

    printf("\n");

    printf("输出偶数:");
    for (i=0;i<j;i++)
        printf("%d\t",os[i]);

    free(a);//释放刚分配a的内存
    free(os);;
    free(js);;
    system("pause");
    return 0;

}
根据四楼的代码改为C语言代码!
2010-04-24 15:29
gcmgyu
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-4-11
收藏
得分:0 
回复 4楼 南国利剑
问一个问题版主 for(int m=1;m<j;m++) 这儿的 变量M能用i来代替吗?为什么? 谢谢
    {
        for(i=0;i<j-1;i++)
        if(os[i]<os[i+1])
        {t=os[i];os[i]=os[i+1];os[i+1]=t;}

2011-04-11 23:30
快速回复:输入N及N格整数(N<20),按奇数升序,偶数降序排列输出
数据加载中...
 
   



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

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