m0_63133201 2021-12-19 21:32 采纳率: 87%
浏览 20
已结题

C语言,输入与输出的结果不对应,结果全部都显示了出来

我想要输入购买装备刀,弹出相应的结果
都是无论输入什么都把什么结果弹了出来

#include<stdio.h>
int main(void)
{
int choice, i;
double price;

printf("需要购买哪些商品?\n");
printf("你现在的余额是100\n");
printf("[1]Select dao :price 15\n");//刀
printf("[2]Select jian :price  20\n");//剑
printf("[3]Select qiang :price  50\n");//枪
printf("[4]Select pao :price  100\n");//炮
printf("[5]Select quantao : price  10\n");//拳套
printf("[6]Select daodan : price  200\n");//导弹 
printf("[0]exit\n");
for (i = 1; i <= 7; i++) {
    printf("Enter chioice:");
    scanf_s("%d", &choice);
    if (choice == 0)
        break;
    switch (choice) {
    case 1: price = 85; break;
    case 2:price = 80; break;
    case 3: price = 50; break;
    case 4: price = 0; break;
    case 5: price = 90; break;
    case 6: price = -100; break;
    default: price = 0; break;
    }
    printf("price=%0.lf\n", price);
}
printf("Thanks\n");
printf("现在外面充满了怪兽,少年拿起自己的武器进攻吧\n");

if (choice = 1) {
    printf("你的刀是秦朝打造\n");
    printf("时间过久,刀已经生锈\n");
    printf("经过敌方强烈打击,刀已经损坏\n");
    printf("你已经战败\n");
    if (choice = 2) {
        printf("你的剑是秦朝打造\n");
        printf("时间过久,剑已经生锈\n");
        printf("经过敌方强烈打击,刀已经损坏\n");
        printf("你已经战败\n");
    }
}
return 0;

}

img

  • 写回答

2条回答 默认 最新

  • Autumn0923 2021-12-19 22:49
    关注

    虽然我还是没搞懂你这个到底要干啥,但是我看到了两个问题,一个就是你的 if 判断语句里面的等号要写两个,一个等号是赋值,所以每次赋值都会成功,这就导致 if 后面的语句都会执行,所以要改成两个等号,还有一个就是,你的 if choice等于二写到了等于一里面,这个在判断的时候应该是有问题的,当你输入 2 的时候,想要一把剑,但是只有choice 等于1了之后才有机会判断是不是等于2,所以这里建议你把choice从等于一的括号里拿出来
    如果你还有什么问题欢迎叨扰

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月19日

悬赏问题

  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含