(算法基础)当型循环与直到型循环都能转化吗?

来源:百度知道 编辑:UC知道 时间:2024/06/14 15:57:45
若不能,举出反例

当型循环与直到型循环在某些情况下是不能转化的。

1. 当型循环,是先判断条件,再执行循环体。如果第一次判断时条件不满足,则循环体执行0次,所以当型循环中循环体的执行次数是 N >= 0。

2. 直到型循环,是先执行循环体,再判断条件,如果条件满足,则继续循环,否则推出循环。也就是不管条件满不满足,它至少执行一次循环体,所以直到型循环中循环体的执行次数是N >=1。

由此很容易看出两种循环并不是都能转化。一个特殊的例子就是,当型循环可以当if条件判断用,而直到型循环不能。下面的例子(C++程序,在DEV-C++ 5 下运行通过)是当用户输入的两个整数相等时输出"Hello World!",用当型循环实现,这用直到型循环是办不到的。

#include <iostream>
using namespace std;

int main(){
....int a,b;
....cout<<"请输入两个整数: ";
....cin>>a>>b;
....while(a==b){
........cout<<"Hello World!"<<endl;
........break; //退出循环
....}
....system("PAUSE");
....return 0;
}

加“.”是为了保持缩进,使程序可读。