题目描述
给定一个正整数n,打印1~n的乘法表上每个位置的数值。n小于等于9。
输入要求
输入一个正整数n。
输出要求
输出1~n的乘法表上对应位置的数值,
输入样例
5
输出样例
1 2 4 3 6 9 4 8 12 16 5 10 15 20 25
提示
用%-4d控制左对齐的输出格式,但是每行对角线上数据直接用"%d\n"来控制输出。
#include<stdio.h>
#include<math.h>
int main()
{
int i,n,k;
double h,a,sum=-100,j;
scanf("%d",&n);
for(i=1;i<=n;i++)//使用2个for循环,注意在第二个for循环里弄一个if else语句选择条件
{
for(j=1;j<=i;j++)
{
k=j*i;
if(j==i)
{
printf("%d\n",k);//我想给大家讲的是这个格式的对其问题,当j==i时,表示j累加到达i,到结尾
}//这时候就换行
else//注意这里是用 %-4d的形式,能使输出的结果对齐,它表示输出的数字位宽为4,理解为占4个空格
printf("%-4d",k);//每个结果是1位或者2位,占2个空格,所以必定对齐(自己理解),因为位宽为4
}
//最后我还给大家扩展了一点知识点,看代码后面
}
}
%4d其含义是输出格式为整形,长度为4,右对齐;
%-4d其含义是输出格式为整形,长度为4,左对齐;
%04d其含义是输出格式为整形,长度为4,右对齐;空格用零补齐。
1.左对齐
方式1
printf("%d\n",2021);
默认打印格式为左对齐;
方式2
printf("%-5d\n",2021);
在打印数字宽度前面加一个“-”。
说明:数字宽度为5,如果要打印的位数小于5,则在后面补足空格;如果要打印的位数大于5,则打印所有的数字,不会截断。
2.右对齐
printf("%5d",2021);
在%和d之间加上数字宽度,就可以右对齐。
说明:数字宽度为5,如果要打印的位数小于5,左边补足空格;如果要打印的位数大于5,则打印所有的数字,不会截断。
如果你喜欢我的文章,请关注我,谢谢你的支持2021.11.12