【九九乘法表】右对齐C语言怎么表示?

如下:(这是左对齐)
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
......

右对齐的话,C语言代码怎么写?
如下:
1x1=1
2x2=4 2x1=2
3x3=3 3x2=6 3x1=3
......

九九乘法表,C语言右对齐实现,参考如下:
main() {
int i, j;
for(i=1;i<10;i++){
for(j=1; j<10; j++) {
if(j>=i)
printf("%2d ",i*j);
//%2d后面是一个空格,%2d是为了让一位数和二位数能对齐
else
printf(" ");
//一共三个空格,两个是弥补%2d的输出,一个是%2d后面的间隔空格
}
printf("\n");
}
getchar();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-10
测试通过,先打印左对齐的,再打印右对齐的,有问题hi我,pur_e

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

}本回答被提问者采纳
第2个回答  2009-09-18
这个是居中对齐吧。。。

首先了解下这个用法:

printf("%*s", 40, "Hello"); //输出40个空格,使得输出的内容在40的空格长度后输出

实现程序:

#include<stdio.h>
void main()
{
int i, j, k;

i=1;
while (i<=9)
{
printf("%*s", 4*(9-i), " "); //这里使用变量,是每行输出的空格数越来越多,就可以居中输出。而且输出空格或者空字符,对内容没影响

j=1;
while (j<=i)
{
k = j*i;
printf("%d*%d=%d ",j, i, k );
++j;
}
printf("\n");

++i;
}
}
第3个回答  2009-09-18
#include <stdio.h>
void main()
{
int i,j,m;
for(i=1;i<=9;i++)
{
for(j=9;j>=i;j--)
printf("%dx%d=%-2d\t",j,i,j*i);
printf("\n");
}
printf("\n");
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%dx%d=%-2d\t",j,i,j*i);
printf("\n");
}
for(i=1;i<=9;i++)
{
for(m=1;m<=9-i;m++)
printf(" \t");
for(j=i;j>=1;j--)
printf("%dx%d=%-2d\t",j,i,j*i);
printf("\n");
}
printf("\n");
for(i=9;i>=1;i--)
{
for(m=9;m>i;m--)
printf(" \t");
for(j=i;j>=1;j--)
printf("%dx%d=%-2d\t",j,i,j*i);
printf("\n");
}

}
第4个回答  2018-10-19
#include <stdio.h>
int main(void)
{
 int mud = 1;  //被乘数
 int mur = 1;  //乘数
 printf("乘法口诀表:\n");
 while (mur <= 9)       //是否成立,成立循环,不成立退出循环
 {
  while (mud <= mur)      //是否成立,成立循环,不成立退出循环
  {
   printf("%d*%d=%-2d ", mur, mud, mud*mur);  //输出结果
   mud++;      //被乘数递增
  }
  printf("\n");       //换行
  mur++;       //乘数递增
  mud = 1;        //给被乘数附初始值
 }
 printf("\n\n");
 return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网