2

我有一个需要编写的 C 类程序。该程序要求一个数量,我需要将该数量乘以用户输入的另一个变量。ac 类的基本计算器脚本 :)

我是这样设置的

    int qty; //basic quantity var
float euro, euro_result;

//assign values to my float vars
euro = .6896; //Euro Dollars
    euro_result = euro * qty; // Euro Dollars multiplied by user input qty

//start program for user
printf("Enter a quantity: ");

//alow user to input a quantity
scanf("%d", &qty);

printf("Euro:       %f \n", euro_result);

为什么它没有按预期工作?

4

5 回答 5

7

错误是该行

euro_result = euro * qty;

需要在 qty 被读入之后

于 2009-09-09T17:20:42.727 回答
7

C 程序中的语句是按顺序执行的,并且表达式不是以符号方式计算的。因此,您需要以这种方式重新排序您的语句:

int qty;
float euro, euro_result;

euro = .6896; // store constant value in 'euro'

printf("Enter a quantity: ");

scanf("%d", &qty); // store user input in 'qty'

euro_result = euro * qty; // load values from 'euro' and 'qty',
                          // multiply them and store the result
                          // in 'euro_result'

printf("Euro:       %f \n", euro_result);
于 2009-09-09T17:21:43.003 回答
2

euro_result = euro * qty;我怀疑您只有在收集了 qty 的值后才想计算。

于 2009-09-09T17:21:41.023 回答
2

在用户输入之前,您已将欧元乘以用户给定数量 qty。它应该如下: //euro_result = euro * qty; // <-- 把它移到下面给出的位置

//start program for user
printf("Enter a quantity: ");

//alow user to input a quantity
scanf("%d", &qty);

euro_result = euro * qty; // Euro Dollars multiplied by user input qty

printf("Euro:       %f \n", euro_result);

就这样。

于 2009-09-09T17:56:06.573 回答
0

问题是您在qty用户输入任何数据之前将 乘以汇率。

于 2009-11-08T06:29:25.747 回答