循环嵌套

32 阅读1分钟

数字金字塔(正向)

使用for嵌套输出一个数字金字塔

代码如下:

#include<stdio.h>

int main(){
	
	for(int i = 1; i <= 5; i++){
		//printf("i = %d\n", i);
		
		for(int j = 1; j <= i; j++){
			printf("%d", i);
		}
		printf("\n");
	}
}

效果如下:

image.png

数字金字塔(倒向)

倒向的原理也很简单,只需要将行的长度j改为5,其次j++改成j--,最后>=i就好

代码如下:

#include<stdio.h>

int main(){
	
	for(int i = 1; i <= 5; i++){
		//printf("i = %d\n", i);
		
		for(int j = 5; j >= i; j--){
			printf("%d", i);
		}
		printf("\n");
	}
}

效果如下:

image.png

9x9乘法表

原理相同,只需要改动一些数值和运算符就可

代码如下:

#include<stdio.h>

int main(){
	
	for(int i = 1; i <= 9; i++){
		//printf("i = %d\n", i);
		
		for(int j = 1; j <= i; j++){
			printf("%d*%d=%2d\t", j, i, j*i);
		}
		printf("\n");
	}
}

效果如下:

image.png

当然,实现左对齐也可以通过修改第9行中的printf语句里面的内容实现

printf("%d*%d=%-5d", j, i, j*i);

效果仍然是一样的:

image.png