Wan_G_Z_hE_ 2022-08-08 17:24 采纳率: 100%
浏览 97
已结题

while语句出现多读现象

用while语句的时候出现多读现象,比如设定读取2项,但只有输出3项时它才运行

原来是这样写的

#include<iostream>
#include<cstdio>
using namespace std;
int main ()
{
    int a,b,c=0,max=0,min=1000;
    cin>>a>>b;
    while(c<a){
        if(b>max) max=b;
        if(b<min) min=b;
        cin>>b; 
        c++;
    }
    int d=max-min;
    cout<<d;
    system("pause");
    return 0;
}

后来改变一小部分,因为想到当while语句括号里内容变为0时,将不执行。
所以把while后面的部分变成减的方式

#include<iostream>
#include<cstdio>
using namespace std;
int main ()
{
    int a,b,max=0,min=1000;
    cin>>a>>b;
    while(a){
        if(b>max) max=b;
        if(b<min) min=b;
        cin>>b; 
        a=a-1;
    }
    int d=max-min;
    cout<<d;
    system("pause");
    return 0;
}

img

问一下如何解决这个问题
谢谢

  • 写回答

4条回答 默认 最新

  • 龙川萍 新星创作者: Java技术领域 2022-08-08 17:31
    关注

    把代码完整的发一下吧

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

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月8日
  • 创建了问题 8月8日