请问上图的代码有哪些错误? 如果以标题中50套为界,且运用条件运算式,还有什么方法?

某服装店经营套服,也单件出售,若买的不少于50套,每套80元,不足50套,每套90元,若只买上衣,每件60元,只买裤子每条45元,读入所买上衣和 裤子件数(不小于0的整数),计算总付款。
- 写回答
- 好问题 4 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注
#include "stdio.h" int main(void) { int imoney = 0; int iWaist = 0; int itrousers = 0; printf("请分别输入需要买的上衣和裤子的数目:"); scanf("%d%d" ,&iWaist ,&itrousers); if ( iWaist >= itrousers ) { if ( itrousers >= 50 ) { imoney = itrousers * 80 + ( iWaist - itrousers )*60; } else { imoney = itrousers * 90 + ( iWaist - itrousers )*60; } } else { if ( iWaist >= 50 ) { imoney = iWaist * 80 + ( itrousers - iWaist )*45; } else { imoney = iWaist * 90 + ( itrousers - iWaist )*45; } } printf("monye = %d\n", imoney); return 0; }
解决 1无用
- qzjhjxj 2022-10-08 01:25关注
这么写,供参考:
#include <stdio.h> int main() { int a, b, flg = -1; float sum = 0; scanf("%d%d", &a, &b); if (a > b) { a -= b; flg = 0; } else if (a < b) { b -= a; flg = 1; } if (flg == -1) { // a == b if (a >= 50) sum = a * 80; else sum = a * 90; } else if (flg == 0) { //a > b if (b >= 50) sum = b * 80 + a * 60; else sum = b * 90 + a * 60; } else if (flg == 1) { //a < b if (a >= 50) sum = a * 80 + b * 45; else sum = a * 90 + b * 45; } printf("%.2f", sum); return 0; }
解决 无用评论 打赏 举报