问题:
如果通过键盘输入一个商品的成本价和销售价,编写一个程序来判断销售者是盈利还是亏损,以及盈利多少或亏损多少。
下面是我的代码:
#include <stdio.h>
int main() {
int x, y, z, b, n;
char k = '%';
char r = '$';
printf("Enter cost of item:-");
scanf("%d", &x);
printf("Enter selling price of item:-");
scanf("%d", &y);
if (x < y) {
n = y - x;
z = 100 / x;
b = n / z;
printf("You made %d%c profit \n", b, k);
printf("or\n");
printf("%d %c profits\n", n, r);
}
if (x > y) {
n = y - x;
z = 100 / x;
b = n / z;
printf("You made %d%c loss \n", b, k);
printf("or\n");
printf("%d %c loss\n", n, r);
}
return 0;
}
嘿,我是新的C编程只知道基本的。今天我学习if
/else
,我试图解决这个问题。但我的代码没有给出任何错误和警告。它需要输入,并在其结束后,我如果不工作。请帮助:(
2条答案
按热度按时间6fe3ivhb1#
这里有一个问题:
如果价格
x
大于100
,则由于整数除法语义,z
将具有值0
,并且由于除法溢出,n / z
将导致未定义的行为,这可能导致程序停止。以下是我的建议:
scanf()
的返回值以检测无效或丢失的输入。以下是修改后的版本:
pxq42qpu2#
这是给你的完整答案。你在计算中有错误