#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