我被要求提出一个代码寄存器,其输入后跟着:
请输入要支付的金额: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;
}
答案 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);
注意:格式字符串的选项比我在这里提到的要多得多。阅读一本好书或手册页。