苍天白鹤哪本书最好看:c语言编程的结果如何换行

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 03:58:44
以下是乘法口诀,用这个输出的结果是很长的一竖条,请问怎么改写来控制输出的结果,使输入的结果是这样的样子:

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
.............................

#include"stdio.h"
#define A result
main()
{
int i,j,A;
printf("乘法口诀\n");
for(i=1;i<10;i++)
{for(j=1;j<10;j++)
{A=i*j;
printf("%d*%d=%d\n",i,j,A);
}
}
}
1楼的结果显然与我要求的不符合,我要输出的是三角形的乘法口诀表,而你给的只是简单的分段

你的宏定义没有任何意义。上面的程序打出来是个矩阵,不符合要求。我把第二个循环做了一下修改。
#include<stdio.h>
main()
{
int i,j,A;
printf("乘法口诀\n");
for(i=1;i<10;i++)
{for(j=1;j<=i;j++)
{
A=i*j;
printf("%d*%d=%d\t",j,i,A);
}
putchar('\n');
}
}

这是你想要左对齐三角形:
#include <stdio.h>

void main(){
      int i, j;
      for(i = 1; i<10; i++){
            for(j = 1; j<=i; j++){
                  printf("%d×%d=%-4d", i, j, i*j);
            }
            printf("\n");
      }
}

这个是比较好看的等边三角形:
#include <stdio.h>

void main(){
      // space表示每一行初始空格数
      // 因为第9行初始空格数为0,所以用4*(9-1) = 4*8
      int i, j, k, space = 4*8;
      for(i = 1; i<10; i++){
            for(k = 0; k<space; k++){
                  printf(" ");
            }
            space -= 4;
            for(j = 1; j<=i; j++){
                  printf("%d×%d=%-4d", i, j, i*j);
            }
            printf("\n");
      }
}

C语言中有专门的换行命令控制符,就是“\n”,比如:
一个字符串"string outcmd";你想输出两行,每行一个词,那么可以这样处理
char *s1="string",*s2="outcmd";
printf("%s",s1);
printf("\n");
printf("%s",s2);

#include"stdio.h"
#define A result
main()
{
int i,j,A;
printf("乘法口诀\n");
for(i=1;i<10;i++)
{for(j=1;j<10;j++)
{A=i*j;
printf("%d*%d=%d\n",i,j,A);
}
printf("\n");
}
}

输入
printf ("\n");
其中\n表示换行