这次我们来讲怎么将一个数反向。
一个数的反向分为两种:
第一种反向数前可含0(原数符合一个数的要求)eg:1000的反向数为0001;
第二种反向数前不含0,eg:1000的反向数为1。
第一种:反向数前可0
#include<bits/stdc++.h> using namespace std; int main(){ int m,n; cout<<"输入一个数字m="; cin>>m; while(m!=0) { n=m%10; m=m/10; cout<<n; } return 0; }
讯享网
重点说明一下while循环中的内容:一个数%10得到的是这个数的个位上的数字,一个数/10得到的是这个数除去个位上的数以后的数字。依次把每一个得到的个位上的数字输出就得到了反向数。
eg:比如1000的反向数的得到
n=1000%10得到n为0; n=100%10得到n为0; n=10%10得到n为0; n=1%10得到n为1
m=1000/10得到m为100; m=100/10得到m为10; m=10/10得到m为1; m=1/10得到m为0
cout一个n即输出一个0; cout一个n即输出一个0; cout一个n即输出一个0;cout一个1
此时m为0不符合循环条件,结束循环。
第二种:反向数前不含0
讯享网#include<iostream> using namespace std; int main(){ int n,s=0,t; cout<<"输入一个数n="; cin>>n; while(n!=0) { t=n%10; s=s*10+t; n=n/10; } cout<<s; return 0; }
思路:关键在于while循环中的内容,我们以120为例子来理解一下这个代码的意思。
t=120%10=0; t=12%10=2; t=1%10=1;
s=0*10+0=0; s=0*10+2=2; s=2*10+1=21;
n=120/10=12; n=12/10=1; n=1/10=0结束循环
得到的s为21,即120的反向数为21。
有一说一,我觉得这个要是想不到的话记住就可以了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/29368.html