c++程序逆向输出一整数

meetyu 2009-01-05 05:58:55
#include <iostream.h>
#include <math.h>

int main()
{ int a;
long dvin=0;
long mc;
long ini_val;
int preset=0;

do{cout < <"Please enter a integer between 99999 to 1:"
< <endl;
cin>>ini_val;
} while(ini_val <0||ini_val>99999);
mc=ini_val;
while(mc)
{++preset;
mc/=10;
}
mc=ini_val;
for(int i;i <preset;i++)
{a=mc%10;
dvin+=a*pow(10,(preset-i-1));
mc/=10;
}
cout < <preset < <endl;
cout < <"The begin_value is:" < <ini_val < <endl;
cout < <"The dvin_value is:" < <dvin;
return 0;
}
这程序错在那里..
cout < <"the dvin_value is:dvin;输出结果为0.
...全文
236 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bennyyyyy 2009-01-05
  • 打赏
  • 举报
回复

#include "stdafx.h"
#include<iostream>
#include<cmath>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
int a;
long dvin=0;
long mc;
long ini_val;
int preset=0;

cout <<"Please enter a integer between 99999 to 1:" <<endl;
cin>>ini_val;

mc=ini_val;
while(mc)
{++preset;
mc/=10;
}
mc=ini_val;
for(int i=0;i <preset;i++)
{a=mc%10;
dvin+=a*pow((double)10,(preset-i-1));
mc/=10;
}
cout <<preset <<endl;
cout <<"The begin_value is:" <<ini_val <<endl;
cout <<"The dvin_value is:" <<dvin;
cin>>a;
return 0;

}
booksky508 2009-01-05
  • 打赏
  • 举报
回复
一楼正解。
bennyyyyy 2009-01-05
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <math.h>

int main()
{ int a;
long dvin=0;
long mc;
long ini_val;
int preset=0;

do{cout < <"Please enter a integer between 99999 to 1:"
< <endl;
cin>>ini_val;
} while(ini_val <0||ini_val>99999);
mc=ini_val;
while(mc)
{++preset;
mc/=10;
}
mc=ini_val;
for(int i=0;i <preset;i++) //这里错
{a=mc%10;
dvin+=a*pow(10,(preset-i-1));
mc/=10;
}
cout < <preset < <endl;
cout < <"The begin_value is:" < <ini_val < <endl;
cout < <"The dvin_value is:" < <dvin;
return 0;
}
davelv 2009-01-05
  • 打赏
  • 举报
回复
直接把输入的数字当字符处理就OK~~
china_west 2009-01-05
  • 打赏
  • 举报
回复
不错[Quote=引用 3 楼 nullah 的回复:]
引用 2 楼 sunhuanwen 的回复:
如一楼

另外问一下,“逆向输出一整数”是什么意思啊?

4321---->1234


C/C++ code
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
int a;
long dvin = 0;
long mc;
long ini_val;
int preset=0;

do
{
cout <<"Please enter a integer between 99999 to 1:" <<endl;
cin >> …
[/Quote]
nullah 2009-01-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunhuanwen 的回复:]
如一楼

另外问一下,“逆向输出一整数”是什么意思啊?
[/Quote]
4321---->1234


#include <iostream>
#include <cmath>
using namespace std;

int main()
{
int a;
long dvin = 0;
long mc;
long ini_val;
int preset=0;

do
{
cout <<"Please enter a integer between 99999 to 1:" <<endl;
cin >> ini_val;
}
while(ini_val <0||ini_val>99999);
mc=ini_val;
while(mc)
{
++preset;
mc/=10;
}
mc=ini_val;
for(int i=0;i<preset;i++) //局部变量未初始值
{
a=mc%10;
dvin+=a*pow((float)10,(float)(preset-i-1)); ///pow
mc/=10;
}
cout << preset <<endl;
cout <<"The begin_value is:" <<ini_val <<endl;
cout <<"The dvin_value is:" <<dvin;
return 0;
}
sunhuanwen 2009-01-05
  • 打赏
  • 举报
回复
如一楼

另外问一下,“逆向输出一整数”是什么意思啊?
lbh2001 2009-01-05
  • 打赏
  • 举报
回复
for(int i;i <preset;i++) -----> for(int i = 0;i <preset;i++)
meetyu 2009-01-05
  • 打赏
  • 举报
回复
犯了错误啦..多谢大家指出...中文表达不好..哈哈..是123,求出结果是321的意思

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧