急求!如何用C语言输出如下矩阵(N*N)

急求!如何用C语言输出如下矩阵(N*N),第1张

题目要求有一个问题,它要求N最小为2,却要求N为奇数,N为奇数应该最小为3或1才对.

按照题目要求编写的C语言矩阵程序如下

#include<凳手stdio.h>

int main(){

int i,j,k,N,count=1

scanf("%d",&N)

if(N<=2 || 15<N || N%2==0){

printf("请输入小于等于15且大于册型2的奇枣姿嫌数")

}else{

int a[N][N]

for(i=N/2i>=0i--){

k=N-i-1

for(j=N-i-2j>=ij--){

  a[j][k]=count++

}

for(j=N-i-2j>=i+1j--){

  a[i][j]=count++

}

for(j=ij<N-ij++){

  a[j][i]=count++

}

for(j=i+1j<N-ij++){

  a[k][j]=count++

}

}

for(i=0i<Ni++){

for(j=0j<Nj++){

  printf("%-5d",a[i][j])

}

printf("\n")

}

}

return 0

}

可以使用嵌套的for循环来输出一个芹滚册矩阵。以下是一个示例代码,它将创建一个大小为N×N的矩阵,其中N是从用户输入嫌宏的数字中获取的。

import java.util.Scanner

public class Matrix {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in)

System.out.print("请输入矩阵的大小: ")

int n = scanner.nextInt()

// 创建一个大小为n x n的矩阵

int[][] matrix = new int[n][n]

// 初始化矩阵

for (int i = 0i <ni++) {

for (int j = 0j <nj++) {

matrix[i][j] = i * n + j + 1

}

}

// 输出矩阵

for (int i = 0i <ni++) {

for (int j = 0j <nj++) {

System.out.print(matrix[i][j] + " "备丛)

}

System.out.println()

}

}

}

在上面的示例代码中,首先从用户输入中获取矩阵的大小,然后使用两个for循环来创建一个大小为n×n的矩阵,并将其初始化。最后,再次使用两个for循环来输出矩阵的值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12400033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存