c++.讲解下

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:14:10
1)这个是输入一个整数,判断该数是几位数,再将它逆向输出

#include<iostream>
using namespace std;
void main()
{
long n,rn=0;
cin>>n;
for(int i=0;i<10;i++)
{
if(n>0)
{
rn=rn*10+n%10;
n=n/10; 这行的n=n/10 的值为什么更新到上一行的式子中?
}
else
break;
}
cout<<i<<"\t"<<rn<<endl;
}

举个例子就知道拉
比如说1234
m=m*10+n%10 m=0*10+1234/10 m就等于4
n=n/10 n=123; m=m*10+n%10 m=4*10+123%10 m为43
n=n/10 n=12; m=m*10+n%10 m=43*10+12%10 m为432
……

楼上分析的是对了 啊
我只是想再说下m=m*10+n%10 m=0*10+1234%10 m就等于4
如果输入的是1234则for(int i=0;i<10;i++) 语句只执行4次(因为当N不大于零是就结束) 根据你输入的数字多少认定不过最多不超过10个
哈哈多写的.其实多明白.
(这行的n=n/10 的值为什么更新到上一行的式子中? )这是为了要达到你函数功能的算法描述的一步,因为 你用for(int i=0;i<10;i++) 这个循环语句运行时执行了第一次那么下一次就是以它前面执行得到值再运算.