C 下面的代码应该接受初始输入,并且应该继续请求输入,直到两个输入都从0到2000

C 下面的代码应该接受初始输入,并且应该继续请求输入,直到两个输入都从0到2000,c,loops,while-loop,logic,continue,C,Loops,While Loop,Logic,Continue,下面的代码应该获取初始输入,并且应该继续请求输入,直到两个输入都是0到2000,但只询问它们是否都小于0或大于2000 int main(){ float x; int y; scanf("%f",&x); scanf("%d",&y); while(!(x>0 && x<=2000) && !(y>0 && y<=2000)){

下面的代码应该获取初始输入,并且应该继续请求输入,直到两个输入都是0到2000,但只询问它们是否都小于0或大于2000

int main(){

    float x;
    int y;
    scanf("%f",&x);
    scanf("%d",&y);
while(!(x>0 && x<=2000) && !(y>0 && y<=2000)){
    printf("invalid balance or initial amount\n");
    printf("enter initial balance\n");
    scanf("%f",&x);
    printf("enter withdrawal amount\n");
    scanf("%d",&y);
    continue;
     }
return 0;
intmain(){
浮动x;
int-y;
scanf(“%f”、&x);
scanf(“%d”和“&y”);

而(!(x>0&&x0&&y简单的答案是:将中间的
&&
改为
|

while (!(x>0 && x<=2000) || !(y>0 && y<=2000)) {

简单的答案是:将中间的
&&
改为
|

while (!(x>0 && x<=2000) || !(y>0 && y<=2000)) {

角点:0的余额有效吗?我怀疑您想要
(x>=0&&xyes,我可能忽略了一个错误角点:0的余额有效吗?我怀疑您想要
(x>=0&&xyes,我可能忽略了一个错误
#include <stdio.h>

int
main(void)
{
    float x;
    int y;

    while (1) {
        printf("enter initial balance\n");
        scanf("%f", &x);

        printf("enter withdrawal amount\n");
        scanf("%d", &y);

        if (((x > 0) && (x <= 2000)) && ((y > 0) && (y <= 2000)))
            break;

        printf("invalid balance or initial amount\n");
    }

    printf("x=%g y=%d\n",x,y);

    return 0;
}