| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:大一小白求教作业~
只看楼主 加入收藏
小小小小小黄
Rank: 1
等 级:新手上路
帖 子:28
专家分:4
注 册:2012-12-10
结帖率:44.44%
收藏
已结贴  问题点数:20 回复次数:10 
大一小白求教作业~
#include <iostream>
using namespace std;
int main()
{   
    int a[10],b[10];   
    int i,j,t,n;   
    for(i = 0; i < 10;i++)
        a[i] = b[i] = i + 1;   
    cout << "交换前:\n";   
    for(i = 0; i < 10; ++i)
        cout << a[i] << " ";   
    cout << endl;   
    for(i = 0; i < 9; ++i)
    {        for(j = i + 1; j < 10; ++j)
    {            if((a[i] % 2 == 1) && (a[j] % 2 == 0))
    {                t = a[i];               
    a[i] = a[j];               
    a[j] = t;               
    break;            
}        
}   
}   
    cout << "交换后:\n";   
    for(i = 0; i < 10; ++i)
        cout << a[i] << " ";   
    cout << endl;   
}

作业要求是 写一段代码,使一个十个元素的数组将偶数放到前面,奇数放在后面的位置。
上面这段代码是求度娘的,各种不理解啊,
1.using namespace std;  ——什么意思?
2.这个貌似是自动排序1~10的数组,但是十个随机数的数组整理如何编程,
而且题目里也要求调换的次数尽量的少。
求教~
搜索更多相关主题的帖子: include 
2012-12-11 16:55
crystall
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:184
专家分:809
注 册:2012-12-1
收藏
得分:10 
程序代码:
#include <time.h>
#include <iostream>
using namespace std;

//using namespace std; //命名空间

//#include <iostream>
//#include <iostream.h> 这是两个文件

int main()
{   
    int nNum = 0;
    srand( (unsigned)time( NULL ) );

    printf("请输入一个值: ");
    scanf("%d", &nNum);

    for(int i = 0; i < nNum;i++ )
    {
        //rand()%10 得到的随机数:10以内
        //得到的随机数有重复的,自己赛选一下
        //rand()%100 得到的随机数:100以内
        printf("%d\n", rand()%10 );
    }

    return 0;
}
2012-12-11 17:07
crystall
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:184
专家分:809
注 册:2012-12-1
收藏
得分:0 
回复 楼主 小小小小小黄
代码贼犀利啊
2012-12-11 17:08
crystall
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:184
专家分:809
注 册:2012-12-1
收藏
得分:0 
程序代码:
#define NUM 9

//筛选重复的随机数
int Test(int Ary[], int nIndex, int nNum)
{
    for(int j = 0; j <= nIndex; j++)
    {
        if(nNum == Ary[j])
        {
            return 1;
        }
    }

    return 0;
}

int main()
{   
    srand( (unsigned)time( NULL ) );

    int nRandAry1[NUM] = {0};
    int i = 0;
    int j = 0;
    int nTemp = 0;

    printf("交换前: ");

    for(i = 0; i < NUM;)
    {
        //得到的随机数
        nTemp = rand()%10;

        //筛选重复的随机数
        //如果重复,重新获取
        //如果不重复,则保存到数组中
        if(Test(nRandAry1, i, nTemp) == 0)
        {
            nRandAry1[i] = nTemp;

            printf("%2d",  nRandAry1[i]);

            i++;
        }
    }

    for(i = 0; i < NUM; i++)
    {
        for(j = i + 1; j < NUM; j++)
        {
            //Ary[0] => Ary[1]
            //如果第一个元素为奇数,第二个元素为偶数, 则交换
            if( (nRandAry1[i] % 2 == 1) && (nRandAry1[j] % 2 == 0))
            {
                nTemp = nRandAry1[i];
                nRandAry1[i] = nRandAry1[j];
                nRandAry1[j] = nTemp;
                break;
            }
        }
    }

    printf("\r\n交换后: ",  nRandAry1[i]);

    for(i = 0; i < NUM; i++)
    {
        printf("%2d",  nRandAry1[i]);
    }

    printf("\r\n");

    return 0;
}
2012-12-11 17:32
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:0 
学习一下

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-12-12 11:56
小小小小小黄
Rank: 1
等 级:新手上路
帖 子:28
专家分:4
注 册:2012-12-10
收藏
得分:0 


马上要期末考试了,
拿什么拯救你 我的C++,
闷。
2012-12-12 14:08
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:0 
考试考的简单 抓紧复习一下 来得及的

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-12-12 14:40
_leo
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2012-12-12
收藏
得分:2 
using namespace std;  ——什么意思?
使用std命名空间。里面有很多你可以使用的库函数。
另外,代码的确很犀利!
2012-12-12 16:05
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:8 
如果要满足题意,尽可能交换次数最少,感觉应该先做一个判断找出偶数的个数,然后界点下标,再做有效交换。

www.qunxingw.wang
2012-12-12 16:51
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
或者,i从前向后扫,找奇数,同时j从后向前扫找偶数,交换,循环条件i小于j时

www.qunxingw.wang
2012-12-12 17:08
快速回复:大一小白求教作业~
数据加载中...
 
   



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

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