问个简单的C语言题目

程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat(0<repeat<10),做repeat次下列运算:以下4种水果的单价分别是3.00元/公斤,2.50... 程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。
[1] apples
[2] pears
[3] oranges
[4] grapes
输入水果的编号,输出该水果的单价(保留2位小数)。如果输入不正确的编号,显示单价为0。
例:括号内是说明
输入
1 (repeat=1)
3 (oranges的编号)
输出
[1] apples
[2] pears
[3] oranges
[4] grapes
price=4.10

#include <stdio.h>
int main( )
{
int ri, repeat;
int choice;
float price;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
printf("[1] apples\n");
printf("[2] pears\n");
printf("[3] oranges\n");
printf("[4] grapes\n");
scanf("%d", &choice);
/*---------*/
printf("price=%0.2f\n", price);
}
}

就告诉我/*---------*/这里应该怎么写就可以了
谢谢
展开
 我来答
山竹卞婵
2019-06-25 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:25%
帮助的人:1103万
展开全部
编译器在编译q=(++j)+(++j)+(++j);这个语句时,先将前两个(++j)+(++j)中++j计算出来(完成后j=7),然后计算前两个i+i(结果为14);接着把第三个++j计算出来(完成后j=8),最后将14和8相加得22.

另外,正如楼上的朋友所说,不同的编译器有不同的处理方法。比如Turbo
C,是先将三个++j计算出来(结果为j=8),然后计算i+i+i(结果为18)。

望采纳。
basic13
2007-10-27 · TA获得超过2759个赞
知道大有可为答主
回答量:1782
采纳率:0%
帮助的人:1492万
展开全部
这个……
int ri, repeat; ri 是循环控制变量,repeat是重复运行次数
int choice; choice 是选择的
float price; 是价格

for(ri=1; ri<=repeat; ri++){
printf("[1] apples\n");
printf("[2] pears\n");
printf("[3] oranges\n");
printf("[4] grapes\n");
scanf("%d", &choice);
/*---------*/ 循环到这里应该是要将PRICE赋值为商品的价格了
printf("price=%0.2f\n", price);
}

可以填入:
price=(choice==1)*3+(choice==2)*2.50+(choice==3)*4.1+(choice==4)*10.2
修正BUG,呵呵,一时激动又写错了- -!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WXD110114dccd8
2007-10-27 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.6万
采纳率:43%
帮助的人:7791万
展开全部
switch (choice) {
case 1:price=3;break;
case 2:price=2.5;break;
case 3:price=4.1;break;
case 4:price=10.2;break;
default:price=0;
}

或者:

price=(choice==1)*3+(choice==2)*2.50+(choice==3)*4.1+(choice==4)*10.2;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式