2016 - 2024

感恩一路有你

拉丁方阵c语言编程 谁能告诉我怎么用C语言写数字螺旋方阵?

浏览量:1529 时间:2021-03-10 13:08:51 作者:admin

谁能告诉我怎么用C语言写数字螺旋方阵?

1、下面是一个5*5阶的螺旋方阵。编程打印出此形式的n*n(n<=15)阶的方阵(顺时针方向旋进),n由键盘输入。 ┌ 1 2 3 4 5 ┐ │ 16 17 18 19 6 │ │ 15 24 25 20 7 │ │ 14 23 22 21 8 │ └ 13 12 11 10 9 ┘2、例程:

#include <stdio.h>int get(int x, int y, int lt, int n){ if(x == 0) return lt y else if(y == 0) return lt 4*(n-1)-x else if(y == n-1) return lt n x-1 else if(x == n-1) return lt 3*(n-1)-y else return get(x-1, y-1, lt 4*(n-1), n-2)}int main(void){ int n, i, j scanf("%d", &n) for(i = 0 i < n i) { for(j = 0 j < n j) printf("- ", get(i, j, 1, n)) putchar("n") } return 0}

c语言编程数字矩形方阵?

正确代码应该如下::::注意的是旋转90度哦。 #include<stdio.h> #define N 4 int main() { int a[N][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} int i,j,(*p)[N] int t[N][N]//用于交换 p=a for(i=0i<Ni ) { for(j=0j<Nj ) printf("%dt",p[i][j]) printf("n") } for(i=0i<Ni ) { for(j=0j<Nj ) {t[j][N-i-1]=p[i][j]} } printf("n顺时针旋转后的方阵为:n") for(i=0i<Ni ) { for(j=0j<Nj ) printf("%dt",t[i][j]) printf("n") } return 0 } 附:你在用指针数组时注意在修改一个指针的值时修改了原来的值哦。有返回的,所以在下次使用时会出现不改修改的数据已经被修改了的哦

拉丁方阵c语言编程 c语言编程数字矩形方阵 螺旋方阵顺时针c语言

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。