运行结果:

C语言代码:
/* c how to program 习题4.16 ** 打印三角形 */ #include <stdio.h> #include <math.h> // function main begins program execution int main( void ) { //定义x为*,y为换行,z为空格 int x, y, z; //(A) for(y = 1; y <= 10; ++y){ //打印* for(x = 0; x < y; x++){ printf("*"); } //打印换行 printf("\n"); } puts(""); //(B) for(y = 10; y > 0; y--){ //打印* for(x = 0; x < y; x++){ printf("*"); } //打印换行 printf("\n"); } puts(""); //(C) for(y = 0; y < 10; ++y){ //打印空格 for(z = 0; z < y; z++){ printf(" "); } //打印* for(x = 10; x > y; x--){ printf("*"); } //打印换行 printf("\n"); } puts(""); //(D) for(y = 0; y < 10; ++y){ //打印空格 for(z = 9; z > y; z--){ printf(" "); } //打印* for(x = 0; x <= y; x++){ printf("*"); } //打印换行 printf("\n"); } }