关于c++ while函数的用法

2025-02-27 20:58:41
推荐回答(4个)
回答1:

在C++中,while函数有两种使用方式:

1、while(条件,起始条件,i++)

     {循环函数体;}

----适用判断条件很明确,而且函数的执行次数也非常明确的情形

----先判断条件,然后执行循环体


2、do

     {函数体;

      i++;}

     while (条件);

----适用判断条件明确,但函数执行次数不明确的情形

----先执行循环体,再判断条件是否可以继续执行


分别举例,通过while和do-while来计算 1+2+3+……+100:

回答2:

注释的地方改一下就可以了,

#include 
using namespace std;
int main()

    double a, b;//定义改一下 
    do
    {  
         while (1)
         {   
             cout << "Please input two integers :";   
             cin >> a >> b;   
             
             if ((int)a != a || (int)b != b)   
             {    
                  cout << "Aren't you input two integers,please try again" << endl;    
                  continue;   
             }   
             else break;  
         }   
    if (a > b)   
    cout << "The larger number is " << a << endl;  
    else   
    cout << "The larger number is " << b << endl; 
    } while (a == b);//改成== 
    
    system("pause"); 
    return 0;
}

虽然是整数,但是你输入可能是浮点型的,所以用double类型的作为输入

回答3:

if ((int)a != a || (int)b != b)

看起来实际想要的是检查输入是否正确,那么可以用if (!cin)来判断输入流状态,然后用cin.clear()清除错误标记,cin.ignore(1024,'\n')丢弃错误的字符……

回答4:

首先输入时,ab都被声明为 int
所以就算你输入的不是 int,也会自动强转为int.

所以无论如何,if ((int)a != a || (int)b != b) 都不成立,

会直接执行else break;

然后输出The larger number is

而while中你错写成了赋值=号,因此while一直成立,便会一直循环了.... 应改成==