前言
目前算法不咋会哈,并且只会点c语言
思路
正方形
正方形就是 行数*矩阵规模+这行第几个数
三角形
三角形就是先开始输出空格,在输出数字,每行的空格数是 矩阵规模-行号。每行最后一个数字是有规律的(行号*(行号+1))/2,这里可以思考下为啥两层括号。
代码
#include <stdio.h>
int main(){
int a,i,j,b,m,n=1;
scanf("%d",&a);
for(i=0;i<a;i++)
{
for(j=1;j<=a;j++)
{
printf("%02d",i*a+j);
}
printf("\n");
}
printf("\n");//上面此处输出的是正方形
for(m=1;m<=a;m++)
{
b=a-m;
for(b;b>0;b--)
{
printf(" ");
}
for(;n<=((m*(m+1))/2);n++)
{
if(n==((m*(m+1))/2))
printf("%02d\n",n);
else
printf("%02d",n);
}
}
}