如何使用printf以表格格式打印某些值和字符串

时间:2014-07-09 14:56:16

标签: c printf

我想要实现的目标是:

X + Y X - Y X / Y X * Y

a b c d

我搜索了谷歌,但我并没有找到我想要的内容,尝试了多种方法,但仍显示混乱。

到目前为止,这是我的代码:

int main()
{
    int x,y,a,b,c,d;
    printf("Introdu X si Y");
    scanf("%d%d",&x,&y);

    a=x+y;
    b=x*y;
    c=x-y;
    d=x/y;
    printf("X+Y\t","X*Y\t","X-Y\t","X/y\t");
    printf("3%d,3%d,3%d,3%d",a,b,c,d);


    return 0;
}

编辑:删除逗号工作正常,代码中的3,我认为你可以使用3%d来向左移动3个空格。谢谢你。

2 个答案:

答案 0 :(得分:0)

问题在于你的printf语句。

printf("X+Y X*Y X-Y X/y\n");
printf("%d %d %d %d", a, b, c, d);

我想你只是想要这个。

答案 1 :(得分:0)

首先,不需要第一个印刷品的逗号()。

其次,您在第二个printf()中使用的格式是“3%d”。这意味着数字3将在任何数字之前打印,这是不必要的。

将此代码视为修复问题的选项(添加了一些路线和换行符)

#include <stdio.h>

int main() {
    int x,y,a,b,c,d;
    printf("Introdu X si Y \n");
    scanf("%d%d",&x,&y);

    a=x+y;
    b=x*y;
    c=x-y;
    d=x/y;

    printf("X+Y\t X*Y\t X-Y\t X/y\t\n");
    printf("%d\t,%d\t,%d\t,%d\t",a,b,c,d);

    return 0;
}

一些可能的输出是:

Introdu X si Y 
6 3
X+Y      X*Y     X-Y     X/y
9       ,18     ,3      ,2

请注意,使用int变量进行除法总是会将结果作为整数。因此,在您的代码中:1/2 = 0。