c输入正整数N,输出数字12345组成的方阵,例如:输入:N=3 输出: 1 2 1 3 1 4 1 5 1
时间: 2024-05-01 09:16:22 浏览: 93
以下是一种可能的C语言程序实现:
```
#include <stdio.h>
int main() {
int N;
printf("请输入正整数N:");
scanf("%d", &N);
int i, j;
for (i = 1; i <= N; i++) {
for (j = 1; j <= N; j++) {
if (i == (N+1)/2 || j == (N+1)/2) { // 中心位置
printf("1 ");
} else {
printf("%d ", (j+i)%2+2); // 按照规律输出
}
}
printf("\n");
}
return 0;
}
```
程序中,先读入正整数N,然后使用两个循环遍历每个位置,根据题目要求输出数字。特别地,当位置在方阵的中心位置时,输出1。具体输出规律是,对于不在中心位置的位置,按照(i+j)%2+2的结果输出,其中i和j分别表示该位置在行和列的坐标,(i+j)%2表示该位置的行列坐标之和的奇偶性,结果为0或1,再加上2即可得到该位置的数字。最后每行输出完毕后记得换行。
相关问题
输入正整数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语言编写一个程序要求显示代码
#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;
}
使用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;
}
```
阅读全文