首页 > 编程语言 > 详细

数组刷题

时间:2021-05-01 16:41:43      阅读:24      评论:0      收藏:0      [点我收藏+]
 
 
 
 
 
 
 
 
 
 
 
 
 
方法一:
#include <iostream>
using namespace std;
#define N 100
int a[N][N];
int main(void)
{
int n, i, j, val, n1;
    cin>>n;
    //左上的三角
    val = 1;
    for(i=0;i<n;i++)
        for(j=0;j<=i;j++)
        {
            if(i%2) a[i-j][j] = val;
            else    a[j][i-j] = val;
            val++;
        }
    val=n*n;
    n1=n-1;
    for(i=0;i<n1;i++)
        for(j=0;j<=i;j++)
        {
            if(i%2)    a[n1-i+j][n1-j] = val;
            else    a[n1-j][n1-i+j] = val;
            val--;
        }
    for(i=0; i<n; i++)
    {
        for(j=0;j<n;j++)
        cout<<a[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}
/************************************************************************************************************/
#include <stdio.h>

int main(){
	int n,num[101][101],s=1;
	scanf("%d",&n);
	
	for(int i=0;i<n;i++)
	for(int j=0;j<=i;j++)
	if(i%2==0)num[j][i-j]=s++; else num[i-j][j]=s++;
	
	for(int i=n;i<2*n-1;i++)
	for(int j=i-n+1;j<n;j++)
	if(i%2==0)num[j][i-j]=s++; else num[i-j][j]=s++;
	
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++) printf("%d ",num[i][j]);
		printf("\n");
	}
	return 0;
}
 

 

方法二:

#include <iostream>
using namespace std;
int f[100][100];
int main (){
    int n,i=0,j=0,a=1,flag;cin>>n;
    while(i!=n-1||j!=n-1){
        f[0][0]=1;
        if(j==0&&i<n-1){
            f[++i][j]=++a;
            while(i>0&&j<n-1)f[--i][++j]=++a;
            continue;
        }
        if(i==0&&j<n-1){
            f[i][++j]=++a;
            while(i<n-1&&j>0)f[++i][--j]=++a;
            continue;
        }
        if(j==n-1){
            f[++i][j]=++a;
            while(i<n-1&&j>0)f[++i][--j]=++a;
            continue;
        }
        if(i==n-1){
            f[i][++j]=++a;
            while(i>0&&j<n-1)f[--i][++j]=++a;
            continue;
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++)
            cout<<f[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}

 

数组刷题

原文:https://www.cnblogs.com/HiRa-AB/p/14723977.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!