在同时键入两个变量时如何显示逗号?

时间:2017-09-20 04:09:06

标签: c

我被要求提出一个代码寄存器,其输入后跟着:

请输入要支付的金额:8.68美元 需要Loonies:8,余额为0.68美元 所需宿舍数:2,余额为0.18美元

第一句完成,但第二句不是,因为地址前的逗号与单词“平衡”之前的逗号重叠。' 有没有办法像上面那样显示逗号,并保持地址的逗号?

#include <stdio.h>

int main(void){

    int n_loonies;
    int n_quarters;
    float remaining;
    double amount;
    amount = 8.68;
    n_loonies = amount / 1;
    remaining_loonies = amount -(n_loonies * 1);
    n_quarters = amount / 0.25;
    remaining_quarters = amount - (n_quarters * 25);

    printf("Please enter the amount to be paid:$");
    scanf("%lf", &amount);
    // printf("loonies required: n_loonies");
    // scanf("%d", &n_loonies);
    printf("Loonies required:%d,n_loonies, balance owing $%d\n);

    return 0;
}

2 个答案:

答案 0 :(得分:1)

看起来你的print语句有点偏。看起来代码不会编译,这里有一个如何使用print的例子:

int x = 10;
printf("x: %d, x address: %p\n", x, (void *)&x);

答案 1 :(得分:0)

您的代码存在许多问题

1)未声明的变量,例如remaining_loonies

2)在所有计算之后放置scanf,以便忽略用户输入

3)printf被错误地调用

printf需要一个格式字符串,格式字符串后面会出现您要打印的变量。全部用逗号分隔。

在格式字符串中,变量以%的形式给出,后跟一个字母,告诉要打印的变量的类型,例如: %d表示有符号整数变量,%u表示无符号整数变量,%f表示浮点变量,还有一些...

所以要打印一个整数

int my_quaters = 5;

           format string
       |------------------|
printf("I got %d quaters\n", my_quaters);
              ^^             ^^
           Integer type      The variable

执行printf%d将被变量my_quaters的当前值替换 - 所以这将打印:

  

我有5个quater

打印两个整数

int my_quaters = 5;
int my_pence = 15;
printf("I got %d quaters and %d pence \n", my_quaters, my_pence);
              ^^             ^^            ^^          ^^
           Integer type      Integer type  First var   Second var

这将打印:

  

我有5个四分之一和15便士

所以在你的情况下更像是:

printf("\nLoonies required:%d, balance owing $%.2f\n", n_loonies, remaining_loonies);

注意:格式字符串的选项比我在这里提到的要多得多。阅读一本好书或手册页。