一行,输入两个整数n和m,用空格分隔,第二行包含n*m个整数(范围-231~231-1)。(1≤n≤10, 1≤m≤10)
输出规划后n行m列的矩阵,每个数的后面有一个空格。
2 3 1 2 3 4 5 6
1 2 3 4 5 6
#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;
} //避免嵌套循环的话时间复杂度就不会太高;
#include<stdio.h>
int main(void)
{
int n = 0; //row
int m = 0; //col
scanf("%d%d", &n, &m);
int kiki[n][m];
//enter datas
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &kiki[i][j]);
}
}
//output datas
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
static int line = 0;
printf("%d ", kiki[i][j]);
if (++line % m == 0) //m data per line
printf("\n");
} //end for j
} //end for i
return 0;
} #include <stdio.h>
int main() {
int n = 0, m = 0;
scanf("%d%d", &m, &n);
int a = m * n;
int arr[100] = { 0 };
for(int i = 0; i < a; i++)
{
scanf("%d", &arr[i]);
}
int k = 0;
for(int i = 0; i < m; i++)
{
for(int j = 0 + k; j < n + k; j++)
{
printf("%d ",arr[j]);
}
k += n ;
printf("\n");
}
} #include <stdio.h>
int main() {
int n, m = 0;
int arr[10][10] = {0};
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &arr[i][j]);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
} #include <stdio.h>
int main() {
int m,n,a[11][11];
scanf("%d %d",&m,&n);
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
scanf("%d",&a[i][j]);
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
} #include<stdio.h>
int main() {
int n, m, arr[10][10];
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &arr[i][j]);
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
} #include <stdio.h>
int main(){
int n, m, arr[10][10];
int i, j = 0;
scanf("%d %d", &n, &m);
for(i = 0; i < n * m; i++, j++)
scanf("%d", &arr[i/m][j%m]);
for(i = 0; i < n * m; i++, j++){
printf("%d ", arr[i/m][j%m]);
if((j+1) % m==0) printf("\n");
}
return 0;
} #include <stdio.h>
int main(){
// 这里 定义 n 行 没有使用到
int n = 0, m = 0,i = 0, num = 0;
scanf("%d %d",&n,&m);
while (scanf("%d", &num) == 1) {
//当 i > 0 且 i 是 m 的倍数时,输出一个换行符 \n,实现每 m 个数字换行的功能。
if (i > 0 && i % m == 0) {
printf("\n");
}
//当 i > 0 但 i 不是 m 的倍数时,输出一个空格,保证数字之间用空格分隔。
if (i % m != 0) {
printf(" ");
}
printf("%d", num);
i++;
}
printf("\n");
} #include<stdio.h>
int main()
{
int n = 0;
int m = 0;
scanf("%d %d",&n,&m);
int arr[10][10]={0};
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d ",&arr[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}