求反序数
这段代码可以执行,但是为什么输入10位数以上就出现错误?
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{ //数字逆序 //位数
int digits = 1;
int testDig = 0;
cin>>testDig;
int tmp = testDig;
if(abs(testDig) > 10)
{
while(abs(tmp) > 10)
{
tmp = abs(tmp) / 10;
digits++;
}
}
cout<<digits<<endl;
//逆序输出
tmp = testDig;
for(int cycle = 0; cycle <= digits; ++cycle)
{
cout<<abs(tmp) %10;
tmp = abs(tmp) / 10;
}
if(testDig < 0)
{
cout<<"-"<<endl;
}
//system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{ //数字逆序 //位数
int digits = 1;
int testDig = 0;
cin>>testDig;
int tmp = testDig;
if(abs(testDig) > 10)
{
while(abs(tmp) > 10)
{
tmp = abs(tmp) / 10;
digits++;
}
}
cout<<digits<<endl;
//逆序输出
tmp = testDig;
for(int cycle = 0; cycle <= digits; ++cycle)
{
cout<<abs(tmp) %10;
tmp = abs(tmp) / 10;
}
if(testDig < 0)
{
cout<<"-"<<endl;
}
//system("pause");
return 0;
}
...全文
相关推荐
C语言常用算法集合[借鉴].pdf
反序数与回文数: - 求反序数:将数字拆解为单个数字,然后逆序组合回去。 - 求回文数:将数字拆解后比较其与逆序后的数字是否相等,若相等则为回文数。
Java SE 练习题.doc
求反序数知识点:while 循环语句、取余数运算符题目要求:编写一个 Java 程序,求一个四位数的反序数。利用 while 循环语句和取余数运算符,输出反序数。6.
在C++中利用递归思想实现反序数
在C++中利用递归思想实现反序数
C语言知识点
= 0) { int r = m % n; m = n; n = r; } return p / m; } ```#### 二、求反序数- **算法思想**:通过循环逐位取出一个整数的每一位,并将其添加到一个新的整数的最前面
C语言中常见的功能函数.docx
**求反序数**: 函数`fxs`用来计算一个整数的反序数,即原数从右向左读取的数字。通过不断将`n`除以10并取余得到每一位,然后累加到结果中。


