Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 我的用户输入没有显示我的存储值_C - Fatal编程技术网

C 我的用户输入没有显示我的存储值

C 我的用户输入没有显示我的存储值,c,C,我正在制作一个程序,询问用户有多少便士、五分镍币、一角硬币和四分之一硬币,然后告诉他们有多少钱。我写了这个程序,但我不知道如何让用户输入与值相乘 我把它重写了,但没法用 float a, b, c, d, e; a = 0.01; b = 0.05; c = 0.10; d = 0.25; e = a+b+c+d; printf("How many pennies?"); scanf("%f" , &a);

我正在制作一个程序,询问用户有多少便士、五分镍币、一角硬币和四分之一硬币,然后告诉他们有多少钱。我写了这个程序,但我不知道如何让用户输入与值相乘

我把它重写了,但没法用

    float a, b, c, d, e;
    a = 0.01;
    b = 0.05;
    c = 0.10;
    d = 0.25;
    e = a+b+c+d;


     printf("How many pennies?");
     scanf("%f" , &a);


     printf("How many nickels?");
     scanf("%f", &b);


     printf("How many dimes?");
     scanf("%f", &c);

     printf("How many quarters?");
     scanf("%f", &d);

     printf("You have $ %f", e);

     return 0;
}


没有任何错误消息,它只是将我已经给a、b、c和d的值相加。

c是一种命令式编程语言,因此您需要按您希望的顺序排列语句。此外,不能对硬币数量使用与对该类硬币价值使用相同的变量。

将每个硬币的数字存储在硬币价值中,这会覆盖这些值。您还尝试在读取每个硬币的数字之前添加硬币的值

您需要分别存储每个硬币的数字,并在读取后求和

float a, b, c, d;
a = 0.01;
b = 0.05;
c = 0.10;
d = 0.25;

int na = 0, nb = 0, nc = 0, nd = 0;



 printf("How many pennies?");
 scanf("%i" , &na);


 printf("How many nickels?");
 scanf("%i", &nb);


 printf("How many dimes?");
 scanf("%i", &nc);

 printf("How many quarters?");
 scanf("%i", &nd);

 printf("You have $ %.2f\n", (na * a) + (nb * b) + (nc * c) + (nd * d));

注意,通常不应使用浮点值来存储货币值(请参见)。

用户应输入硬币的价值,然后将其与变化量相乘,我知道这一点;这不会影响我说的任何话。好吧,我的错误,那么我该如何将用户输入的值乘以硬币值呢?@TariqHenderson使用乘法运算符
*
。你为什么要将便士、镍币、一角硬币和四分之一硬币的数量读入
浮点
中?您是否希望用户输入硬币的分数?