王小二° 发表于 2023-11-14 23:08:55

while循环查询多次

#include<stdio.h>
int main()
{
        int n,i=1;
        printf("Select crisps\nSelect popcorn\nSelect chocolate\nSelect cola\nExit\n请输入你要查询的商品编号:");
        scanf("%d",&n);
        while(i<=4)
        {{
       
        if(n==1) printf("3.0");
        else if(n==2) printf("2.5");
        else if(n==3) printf("4.0");
        else if(n==4) printf("3.5");
        else if(n==0) ;
                else printf("0");
                }
                i++;
                break;
        }
        return 0;
}
请问这个怎么让他可以查询多次,谢谢

isdkz 发表于 2023-11-14 23:09:09

你好,你的代码有一些问题。首先,你的while循环条件是 i<=4 ,这意味着循环只会执行4次。其次,你的大括号使用有些混乱,导致逻辑混乱。最后,你的 break 语句放在了循环体的外面,这样会导致循环只执行一次。

这里是修改后的代码:

#include <stdio.h>

int main() {
    int n;
    while (1) {
      printf("Select crisps\nSelect popcorn\nSelect chocolate\nSelect cola\nExit\n请输入你要查询的商品编号:");
      scanf("%d", &n);
      if (n == 1) {
            printf("3.0\n");
      } else if (n == 2) {
            printf("2.5\n");
      } else if (n == 3) {
            printf("4.0\n");
      } else if (n == 4) {
            printf("3.5\n");
      } else if (n == 5) {
            break;
      } else {
            printf("0\n");
      }
    }
    return 0;
}


在这个修改后的代码中,我将循环条件改为了 while(1) ,表示无限循环。当用户输入5时,使用 break 语句跳出循环,实现多次查询的功能。同时,我也修复了大括号的使用,使得逻辑更加清晰。

王小二° 发表于 2023-11-14 23:14:44

isdkz 发表于 2023-11-14 23:09
你好,你的代码有一些问题。首先,你的while循环条件是 i

你好,还有一个要求是查询次数超过五次自动退出
页: [1]
查看完整版本: while循环查询多次