输入正整数N(N≤20),输出数字12345组成的方阵输入 正整数N(N≤20) 输出 由 12345 组成的 N×N 数字方阵例如: N=1 1 N=2 1 1 1 1 N=3 1 2 1 3 1 4 1 5 1请帮我用c语言编写一个程序要求显示代码
时间: 2024-06-11 20:07:11 浏览: 160
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数N:");
scanf("%d", &n);
int matrix[n][n]; // 定义一个N*N的矩阵
// 初始化矩阵
int num = 1;
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
matrix[i][j] = num;
num++;
}
}
// 输出矩阵
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
相关问题
输入正整数N (N<20) ,输出数字12345组成的方阵,
要求按照从左到右,从上到下的顺序依次填充数字,例如当N=3时,输出如下方阵:
1 2 3
4 5 1
2 3 4
当N=4时,输出如下方阵:
1 2 3 4
5 1 2 3
4 5 1 2
3 4 5 1
以此类推。
解法:
观察样例可以发现,方阵中每个数都是1~5的循环,每一行都是上一行循环后右移一位得到的。因此可以用一个数组来表示第一行的5个数,然后循环左移一位得到下一行,再依次输出即可。
代码如下:
使用C,输入正整数N(N≤20),输出数字12345组成的方阵,例如:N=4 1 2 2 1\n 3 1 1 4\n 3 1 1 4\n 1 5 5 1 N=5 1 2 2 2 1\n 3 1 2 1 4\n 3 3 1 4 4\n 3 1 5 1 4\n 1 5 5 5 1
```c
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i == 0 || i == n - 1 || j == 0 || j == n - 1)
printf("1 ");
else
printf("2 ");
}
printf("\n");
}
return 0;
}
```
阅读全文