我用C++编写了一个小程序,提示用户输入,用户给出一个数字,然后计算机显示反转的数字.
例如:17变为71. 123变为321.
这是该计划:
#include <iostream>
#include <string> //for later use.
using namespace std;
int rev(int x)
{
int r = 0;
while(x)
{
r = (r*10) + (x%10);
x = x/10;
}
return r;
}
int main()
{
int nr;
cout << "Give a number: ";
cin >> nr;
rev(nr);
cout << nr;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
程序的最终结果:打印相同的数字,功能无效.我究竟做错了什么?我尝试了几种解决方案但无济于事.
你需要rev(nr);改为nr = rev(nr);
或者将您的功能更改为:
void rev(int& x)
{
int r = 0;
while(x)
{
r = (r*10) + (x%10);
x = x/10;
}
x = r;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1802 次 |
| 最近记录: |