题目1026:又一版 A+B-----------------------进制转换一定要用 do-while来进行辗转相除
#include<iostream> using namespace std; int main() { long long a,b; int m; while(cin>>m) { if (m==0) return 0; int s[50],i=0; cin>>a>>b; a=a+b; do{ // 用while进行循环能出正确的结果,但是不能AC; s[i++]= a%m; a=a/m; }while(a!=0); for (int j=i-1;j>=0;j--) cout<<s[j]; cout<<endl; } return 0; }
WHILE 和DO-WHILE的不同
一、while语句的一般形式为:
while(表达式)语句
其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。
二、do-while语句的一般形式为:
do
语句
while(表达式);
这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。
使用while语句应注意以下几点:
1、while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
2、循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。