c语言打印乘法口诀和三角

16

打印乘法口诀和三角所用的算法跟java一样,直接上代码

打印乘法口诀:

#include <stdio.h>
int main(void)
{
    for (int i = 1; i <= 9; ++i) {
        for (int j = 1; j <= i; ++j) {
            printf("%d*%d=%d\t", j, i, i*j);
        }
        printf("\n");
    }
    return 0;
}

//执行结果:
1*1=1   
1*2=2   2*2=4
1*3=3   2*3=6   3*3=9
1*4=4   2*4=8   3*4=12  4*4=16
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

三角,同时输出两个三角,一正一倒:

#include <stdio.h>
int main(void)
{
    /* 正-倒
     * 1-9
     * 3-7
     * 5-5
     * 7-3
     * 9-1 */
    for (int i = 1; i <= 9; ++i) {
        if ( i % 2 != 0) {
            for (int j = 1; j <= (9-i)/2; ++j) {
                printf("%c", ' ');
            }
            for (int j = 1; j <= i; ++j) {
                printf("%c", '*');
            }
            for (int j = 1; j<=(9-i)/2; ++j) {
                printf("%c", ' ');
            }

            printf("\t");

            for (int j = 1;  j<= (9-(10-i))/2; ++j) {
                printf("%c", ' ');
            }
            for (int j = 1;  j<= (10-i); ++j) {
                printf("%c", '*');
            }
            for (int j = 1;  j<= (9-(10-i))/2; ++j) {
                printf("%c", ' ');
            }

            printf("\n");
        }
    }
    return 0;
}

//执行结果:
    *           *********
   ***           *******
  *****           *****
 *******           ***
*********           *