作业帮 > 综合 > 作业

设计程序打印下列图形:1 5,2 8,6,3 10,9,7,4 这种规律,设计一个算法实现

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 06:18:46
设计程序打印下列图形:1 5,2 8,6,3 10,9,7,4 这种规律,设计一个算法实现
1
5 2
8 6 3
10 9 7 4
代码如下.你自己把它改为通用的子函数吧!
算法很简单:先搞定第一列,然后再搞定每一行的剩余元素.
#include
#include
int main(void)
{
int i, j;
int k; //存储修正值,即偏移量
int n = 20; //需要打印的行数,你可以修改测试本程序
int **a; //存储动态数组
a = (int **)malloc(n * sizeof(int *)); //分配动态数组
for(i = 0; i < n; i++)
{
a[i] = (int *)malloc(n * sizeof(int));
}
a[0][0] = 0;
for(i = 1, k = n; i < n; i++)
{
a[i][0] = a[i - 1][0] + (k--); //填充二维数组的第一列
}
for(i = 1; i < n; i++)
{
for(j = 1, k = 0; j