#include<stdio.h>
int main()
{
int h=0,l=0;
for(l=1;l<=9;l++)
{
printf("%-4d",l);//%4d就是空三格,有一格留给下一个数字,而纯%4d输出的第一个数字也会有空格
}
printf("\n");
for(l=1;l<=9;l++)
{
printf("_ ");
}
printf("\n");
for(h=1;h<=9;h++)
{
for(l=1;l<=9;l++)
{
printf("%-4d",h*l);
}
printf("\n");
}
printf("\n");
//上三角
for(l=1;l<=9;l++)
{
printf("%-4d",l);
}
printf("\n");
for(l=1;l<=9;l++)
{
printf("_ ");
}
printf("\n");
for(h=1;h<=9;h++)
{
for(l=1;l<=h;l++)//第一行一个,第二行两个,然后一行行递增直至到九个,意思就是循环1,2..... 9次 ,因为h也是这样递增,条件用h控制
{
printf("%-4d",h*l);
}
printf("\n");
}
printf("\n");
//下三角
for(l=1;l<=9;l++)
{
printf("%-4d",l);
}
printf("\n");
for(l=1;l<=9;l++)
{
printf("_ ");
}
printf("\n");
for(h=1;h<=9;h++)
{
for(l=2;l<=h;l++)//看题目先会有空格然后数字且一行行递减,要实现如果没有先空格则每一行的数字会顶格
{
printf(" ");
}
for(l=h;l<=9;l++)//因为是一行行递减,而h是递增的,可以放<左侧实现递减
{
printf("%-4d",h*l);
}
printf("\n");
}
return 0;
}
输出:
1 2 3 4 5 6 7 8 9
_ _ _ _ _ _ _ _ _
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
1 2 3 4 5 6 7 8 9
_ _ _ _ _ _ _ _ _
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
1 2 3 4 5 6 7 8 9
_ _ _ _ _ _ _ _ _
1 2 3 4 5 6 7 8 9
4 6 8 10 12 14 16 18
9 12 15 18 21 24 27
16 20 24 28 32 36
25 30 35 40 45
36 42 48 54
49 56 63
64 72
81