10.31
- while 语句的条件也可以是赋值语句。
代码示例:
#include<iostream>
using namespace std;
int main(){
int a,b,i=0;
cin>>a>>b;
while(a=1){
a++;
i++;
if(a==b) break;
}
cout<<i<endl;
return 0;
}
- 问号表达式的求解顺序是从右到左。
- 或运算的顺序:
例如 a || b ,a 和 b 可以是表达式,先判断 a 是否不为0,不为0的话,直接跳过 b 的代码,整个表达式的值为1。
11.3
1、洛谷习题:数字反转
#include<iostream>
using naespace std;
int main(){
int n;
cin>>n;
if(n<0){
n=-n;
cout<<"-";
}
while(n%10==0){
n/=10;
}
while(n!=0){
cout<<n%10;
n-=n%10;
n/=10;
}
return 0;
}
/*这个做法虽然答案是正确的,
但是由于使用了两次循环,
导致用时过长,
因此需要删去一个循环;
但是,
按照把最小位的零删去的思路,
不用循环用当前的知识做不出来,
所以转换思路*/
#include<iostream>
using namespace std;
int main(){
int n,m=0;
cin>>n;
if(n<0){
cout<<"-";
n=-n;
}
while(n!=0){
m=m*10+n%10;
n-=n%10;
n/=10;
}
cout<<m<<endl;
return 0;
}
/*这种做法不是逐一输出每个数位上的数,
而是直接用方法把数字反转再输出,
最需要学习的是如何将数字反转的技巧*/