c输入n,输出由 12345 组成的 N×N 数字方阵
时间: 2024-05-03 21:21:54 浏览: 19
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入方阵的大小:");
scanf("%d", &n);
// 输出数字方阵
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
printf("%d", (j + i - 1) % 5 + 1);
}
printf("\n");
}
return 0;
}
```
首先,我们通过scanf函数读入n的值。然后,使用两个嵌套的for循环遍历二维数组,并使用printf函数输出元素的值。为了得到由1、2、3、4、5组成的数字方阵,我们根据元素的位置,使用表达式(j + i - 1) % 5 + 1计算出每个元素的值,并使用printf函数输出。最后,使用printf函数输出换行符,以保证每行输出的数字方阵格式正确。
相关问题
用C语言二维数组写,输入n,输出由 12345 组成的 N×N 数字方阵
```
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int arr[n][n];
int i, j;
int num = 1;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
arr[i][j] = num % 5 + 1;
num++;
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
用C语言二维数组写,输入n,输出由 12345 组成的 上面2左边3右边3下面5中间1的数字方阵
```c
#include<stdio.h>
int main()
{
int n, i, j;
scanf("%d", &n);
int arr[n][n];
for(i=0; i<n; i++) // 初始化数组
{
for(j=0; j<n; j++)
{
arr[i][j] = 0;
}
}
for(i=0; i<n; i++) // 填充上面的3行
{
arr[0][i] = 1; // 中间1
arr[1][i] = 2; // 上面2
arr[2][i] = 3; // 上面3
}
for(i=0; i<n; i++) // 填充左右3列
{
arr[i][0] = 1; // 中间1
arr[i][1] = 4; // 左边4
arr[i][2] = 5; // 左边5
arr[i][n-1] = 5; // 右边5
arr[i][n-2] = 4; // 右边4
arr[i][n-3] = 1; // 中间1
}
for(i=0; i<n; i++) // 填充下面的5行
{
arr[n-3][i] = 3; // 下面3
arr[n-2][i] = 4; // 下面4
arr[n-1][i] = 5; // 下面5
}
for(i=0; i<n; i++) // 输出数字方阵
{
for(j=0; j<n; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```