注册 登录
编程论坛 C++教室

有趣的数阵

MyStar 发布于 2010-04-05 17:30, 793 次点击
7 4 8 9 1 5
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1 5 7
请大家帮忙编写这个数阵.谢谢!!
14 回复
#2
书呆2010-04-05 17:57
程序代码:

#include <iostream>
using namespace std;

int main(void)
{
    char numArray[6] = {'7','4','8','9','1','5'};
    for (int i = 6; i > 0; i--)
    {
        for (int j = i % 6; j < 6 + i % 6; j++)
        {
            cout << numArray[j % 6] << " ";
        }
        cout<<endl;
    }
    return 0;
}
#3
玩出来的代码2010-04-05 18:24
程序代码:
#include<stdio.h>
int main()
{
    char *p="748915748915";
    for(int i=0;i<5;i++)
    {
        printf("%.*s\n",5,p++);
    }
    return 0;
}
#4
yyblackyy2010-04-05 19:05
#include <iostream>
using namespace std;
void print(int x[],int n);
void sort(int x[],int n);
void sortprint(int x[],int n);
int main()
{        
    int x[6]={7,4,8,9,1,5};
    sortprint(x,6);
 return 0;
}
//*******************************************
void print(int x[],int n)
{
    for(int i=0;i<n;i++)
        cout<<x[i];
    cout<<endl;
}
//************************************************
void sort(int x[],int n)
{   
    int tem;
    for(int i=n-2;i>=0;i--)
    {
        tem=x[i+1];
        x[i+1]=x[i];
        x[i]=tem;
    }
}
//********************************************************
void sortprint(int x[],int n)
{   
    for(int i=0;i<6;i++)
    {
        print(x,n);
        sort(x,n);
    }
}
#5
MyStar2010-04-05 19:33
回复 4楼 yyblackyy
谢谢!!能不能简单介绍一下你的程序的算法思想啊????
#6
yyblackyy2010-04-05 20:16
void print(int x[],int n)
void sortprint(int x[],int n)  这量个函数就不说了
7 4 8 9 1 5
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1 5 7
先看这个数阵的规律  从反方向看 就是把最后一个数移到第一个的位置嘛
void sort(int x[],int n)               这里是放入的数组 和他的大小
{   
    int tem;                           临时储存数值的变量
    for(int i=n-2;i>=0;i--)
    {
        tem=x[i+1];                    最后一个数与倒数第二个数互换位置,这时倒数第二个位置的值本来最后一个数的值,接着在与其前一个            
        x[i+1]=x[i];                   的数互换位置,依此类推,直到最后一个数在第一个位置  
        x[i]=tem;           
   }
}


#7
MyStar2010-04-05 20:32
厉害!!!!
#8
木秋2010-04-06 11:19
#include<stdio.h>
int main()
{
    char *p="748915748915748915748915748915748915748915748915748915748915748915748915";
    for(int i=0;i<5;i++)
    {
        printf("%.*s\n",6,p);
        p+=5;
    }
    return 0;
}
#9
木秋2010-04-06 11:21
仿3楼 呵呵
#10
lingyunhappy2010-04-06 11:48
精彩!!!
#11
MyStar2010-04-06 12:53
回复 9楼 木秋
呵呵....有趣
#12
ml2325282010-04-06 13:24
2楼和3楼代码很好
#13
MyStar2010-04-06 13:40
确实!!佩服!!
#14
MyStar2010-04-06 21:19
回复 3楼 玩出来的代码
这个程序和结果有点不同!!能解释一下算法思想吗?
#15
z6423841792010-04-06 22:52
精彩,一个题这么多种方法
1