实现一个函数,打印乘法表,乘法表的行数和列数自己指定。如:输入9,输出9*9乘法表,输出12,输出12*12的乘法表。(并附加如何处理列对齐问题)

实现一个函数,打印乘法表,乘法表的行数和列数自己指定。

如:输入9,输出9*9乘法表,

       输出12,输出12*12的乘法表。

具体实现代码如下所示:

#include 
void Print(int a) {
	int i = 1;
	for (i = 1; i <= a; i++) {
		int j = 1;
		for (j = 1; j <= i; j++) {
			printf(" %-2d* %-2d=%-3d", j, i, i * j);
			printf(" ");
		}
		printf("\n");
	}
}

int main() {
	int a = 0;
	scanf("%d", &a);
	printf("\n\n");
	printf("%d*%d乘法表如下:\n\n",a,a);
	Print(a);
	return 0;
}

当输入9时,代码运行结果如下

实现一个函数,打印乘法表,乘法表的行数和列数自己指定。如:输入9,输出9*9乘法表,输出12,输出12*12的乘法表。(并附加如何处理列对齐问题)_第1张图片

当输入12时,代码运行结果如下:

实现一个函数,打印乘法表,乘法表的行数和列数自己指定。如:输入9,输出9*9乘法表,输出12,输出12*12的乘法表。(并附加如何处理列对齐问题)_第2张图片

下面就是讲讲怎么使每一列对齐:

一、%2d 

        %2d代表长度为2,右对齐,位数不够时,在左边补空格,多了以实际长度输出,如当实际位数多了。

注意 :无论什么表示方法,我们定义的整数的位数大于我们想输出的数字的位数,输出时仍然是自己定义的数字。

       %-2d

       %-2d,结果十进制,长度为2,左对齐,位数不够时,在右边补空格,多了以实际长度输出。

易知: %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

二、%02d

        %02d表示长度为2,右对齐,不一样的是,当我们输出的数字位数不够时,在左边补0。同理%0md与%md是一样的道理。

大家可以自己敲代码试试看~体会更深哦

你可能感兴趣的:(算法,数据结构)