根据题目要求,打印次上三角矩阵。
输入1,打印结果如下:
1
输入2,打印结果如下:
1 3
2
例如输入3,打印结果如下:
1 3 6
2 5
4
输入4.打印结果如下:
1 3 6 10
2 5 9
4 8
7
......
输入7,打印结果如下:
1 3 6 10 15 21 28
2 5 9 14 20 27
4 8 13 19 26
7 12 18 25
11 17 24
16 23
输入1,打印结果如下:
1
输入2,打印结果如下:
1 3
2
例如输入3,打印结果如下:
1 3 6
2 5
4
输入4.打印结果如下:
1 3 6 10
2 5 9
4 8
7
......
输入7,打印结果如下:
1 3 6 10 15 21 28
2 5 9 14 20 27
4 8 13 19 26
7 12 18 25
11 17 24
16 23
22
#include<stdio.h>
#include<stdlib.h>
void fun(int n); //根据题目要求,打印次上三角矩阵
int main(void)
{
int flag = 1;
int n ;
while(flag)
{
system("cls");
printf("please input the number: ");
scanf("%d",&n);
fun(n);
printf("Whether to continue testing, yes 1 no 0 : ");
scanf("%d" , &flag); //是否继续检测,是 输入 1 ,否 输入 0
}
system("PAUSE");
return 0;
}
void fun(int n)
{
int number = 1;
int a[100][100] = {0}; //初始化100*100矩阵
for(int i = 0 ; i < n ; i++)
{
for(int j = 0 ; j <= i; j++)
{
a[i-j][j] = number++; //给元素依次赋值
}
}
for(i = 0 ; i < n ; i++)
{
for(int j = 0 ; j < n ; j++)
{
if(a[i][j]) //如果元素非零,打印
printf("%d\t",a[i][j]); //依次打印矩阵中元素
}
printf("\n");
}
}