我想把下面的数据填入中间的空格中,与之一一对应(就是制表),请问怎么通过制表符实现

img

#include
int main()
{
    printf("请输入表格大小:");
    int a;
    scanf("%d", &a);
    for (int i = 1, b = 1, c = 1; i <= a && b <= a && c <= a; b++, c++)
    {
        if (b == a)i++, b = 1;
        printf("%-7d", c);
        if (c == a)
        {
            printf("\n");
            for (int i = 2; i <= a; i++)
                printf("%d\n", i);
        }
    }
    for (int i = 1, b = 1, m = 0; i <= a && b <= a; b++)
    {
        m = i * b;
        printf("%d*%d=%d", i, b, m);
        if(b == a)
        {
            b = 1;
            i++;
        }
    }
  return 0;
 }

我想把下面的数据填入中间的空格中,与之一一对应(就是制表),请问怎么通过制表符实现?
试了好久了,一直不行,哭了……

增加打印每一行乘法式子的代码,然后在每个单独的项目后面加个制表符即可。

修改如下:


#include<stdio.h>
int main()
{
    printf("请输入表格大小:");
    int a;
    scanf("%d", &a);
    printf("%s\t"," ");  //输出左上角的空格 
    
    //输出第一行 
    for (int  c = 1; c <= a ; c++)
    {
       
        printf("%d\t", c); 

    }
    printf("\n");
    
    for (int i=1,m = 0; i <= a ;i++)
    {
        printf("%d\t",i); // 输出第二行以后的每行开头的数字 
        
        //用于输出每一行的乘法表,从1开始,到a结束,与每一行开头的数字相乘的式子输出出来 
        for(int j=1;j<=a;j++){  
            m = i*j;
            printf("%d*%d=%d\t", i, j, m);
        }
        
        
        printf("\n"); // 输出每行的换行 
    }
    
    
    
  return 0;
 }

img

#include <stdio.h>

int main()
{
   int n=9, i, j;

   printf("\t");
   for (i = 1; i <= n; i++) {
      printf("%d\t", i);
   }
   printf("\n");
   for (i = 1; i <= n; i++) {
      printf("%d\t", i); 
      for (j = 1; j <= n; j++) {
         printf("%d*%d=%d\t", i, j, (i * j));
      }
      printf("\n");
   }
   return 0;
}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^