列表

详情


BC137. 序列重组矩阵

描述

KiKi现在得到一个包含n*m个数的整数序列,现在他需要把这n*m个数按顺序规划成一个n行m列的矩阵并输出,请你帮他完成这个任务。

输入描述

一行,输入两个整数n和m,用空格分隔,第二行包含n*m个整数(范围-231~231-1)。(1≤n≤10, 1≤m≤10)

输出描述

输出规划后n行m列的矩阵,每个数的后面有一个空格。

示例1

输入:

2 3
1 2 3 4 5 6

输出:

1 2 3
4 5 6

原站题解

C 解法, 执行用时: 1ms, 内存消耗: 352KB, 提交时间: 2021-09-08

#include<stdio.h>
int main(){
    int n,m;
    scanf("%d %d",&n,&m);
    int arr[n*m];
    int i;
    for(i=0;i<n*m;i++){
        scanf("%d",&arr[i]);
    }
    int j;
    for(i=0;i<n*m;i++){
        
            printf("%d ",arr[i]);
            if((i+1)%m==0)
                printf("\n");
        
    }
    
    
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 356KB, 提交时间: 2020-08-29

#include<stdio.h>
#include <stdlib.h>

int     main(void){
        int  m,n;
        scanf("%d %d", &m,&n);
        getchar();
        int* num = (int *)malloc(sizeof(int)*n*m);
        for(int i=0;i<m*n;++i)scanf("%d", (num+i));
        for(int i=0;i<m;++i){
                for(int j=0;j<n;++j){
                        printf("%d ",num[i*n+j] );
                }
                printf("\n");
       }
}

C 解法, 执行用时: 1ms, 内存消耗: 364KB, 提交时间: 2021-05-02

#include <stdio.h>

int main()
{
	int n, m;
	scanf("%d %d", &n, &m);
	int *p = (int*)malloc(sizeof(int)*n*m);
	for (int i = 0; i <n*m; i++)
	{
		scanf("%d", &p[i]);
	}
	for (int i = 0; i<n*m; i++)
	{
		printf("%d ", p[i]);
		if ((i+1)%m==0)
			printf("\n");
	}
	free(p);
	return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 364KB, 提交时间: 2021-03-22

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    int i, j, n, m;
    scanf("%d %d", &n, &m);
    int *a = (int *)malloc(sizeof(int) * n * m);
    if (NULL == a)
    {
        fprintf(stderr, "Memory allocation failed!\n");
        exit(EXIT_FAILURE);
    }
    for (i = 0; i < n * m; i++)
    {
        scanf("%d", &a[i]);
    }
    for (i = 0; i < n * m; i++)
    {
        printf("%d ", a[i]);
        if (0 == (i + 1) % m)
        {
            putchar('\n');
        }
    }
     
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 364KB, 提交时间: 2021-01-03

#include <stdio.h>

int main()
{
    int m,n;
    int arr[10][10];
    scanf("%d%d",&m,&n);
    int i,j;
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            scanf("%d",&arr[i][j]);
     for(i=0;i<m;i++)
     {
        for(j=0;j<n;j++)
            printf("%d ",arr[i][j]);
         printf("\n");
     }
    return 0;
}

上一题