c语言:使一个N*N二维数组输出呈顺时针螺旋递增
2014-04-27 15:55
681 查看
#include<stdio.h> int main( ){ int i, j, a[100][100]={0}, n, k = 1; printf("please input a number n:"); while(scanf("%d", &n)!=EOF){ k = 1; for (i = 1; i <= n / 2; ++ i){ for (j = i; j <= n - i; ++ j) /* 左侧 */ a[i][j] = k ++; for (j = i; j <= n - i; ++ j) /* 下方 */ a[j][n + 1 - i] = k ++; for (j = n - i + 1; j >= i + 1; j = j - 1) /* 右侧 */ a[n + 1 - i][j] = k ++; for (j = n - i + 1; j >= i + 1; j = j - 1) /* 上方 */ a[j][i] = k ++; } if(n != 1){ for (i = 1; i <= n; ++ i){ for (j = 1; j <= n; ++ j) printf("%5d", a[i][j]); printf("\n"); } } else printf("%5d\n",n); printf("please input a number n:"); } return 0; }
执行效果如下:
相关文章推荐
- 顺时针打印二维数组(螺旋输出数组)
- C语言:【面试题】在二维数组中,每行每列都按照递增的顺序排序,判断数组中是否包含一个数。
- 【C语言】求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都按照从左到右的递增的顺序排序,输入这样的一个数组和一个数,判断数组中是否包含这个数
- C语言:【面试题】在二维数组中,每行每列都按照递增的顺序排序,判断数组中是否包含一个数。
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数
- 【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素
- 一个二维数组以顺时针螺旋的方式打印出来
- 菜鸟柳(二维数组练习)--根据用户输入的数字输出如下格式:等长、数字从1递增1的螺旋二维数组的 4000
- 顺时针输出一个二维数组的内容
- 【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素
- Java实现顺时针输出螺旋二维数组的方法示例
- 定义一个二维数组,内容为三个学生的四门课成绩,求出每个学生四门课的平均分并输出,再求出每门课三个学生的平均分并输出!
- c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。
- C语言 有一个整形数组a,有10个元素,要求输出数组中的全部元素
- Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义
- C语言:实现一个函数,打印乘法口诀表,如:输入9,输出9*9口诀表
- 输出一个矩阵,按照顺时针方向内增大
- 使用JS输出一个二维数组
- 10月5日 c语言 将一个二维数组行和列的元素互换,存到另一个二维数组中