jasonba @ 2017-08-19 18:21:55
#include<iostream>
using namespace std;
int main()
{
int x,v=0,xin=0,cun=0,ge=0;
cin>>x;
if(x<0)//判断x是否为负数
{
x=0-x;//x先取正
v=1;//v值为1时,N是负数
}
for(int i;i<=10;i++)
{
cun=x/10;//为解析出x的个位数做准备
ge=x-cun*10;//解析出x的个位数为ge
x/=10;//去掉已解析出来的个位数,x降一位
xin+=ge;//把已解析的ge和累加的xin赋值给新数
xin*=10;//新数升一位
if(x<10)//判断x是否降到个位;
{
ge=x;
xin+=ge;
break;
}
}
if(v==1)//判断当v等于1时,xin是负数
cout<<"-"<<xin;
else
cout<<xin;
}
by 碳六灵 @ 2017-08-19 18:36:14
看这提示应该是你首位的0没处理好
by jasonba @ 2017-08-19 20:19:32
@☜闪耀星空☞ 测试830的结果是38,没有错啊,而且为什么一分也没
by 碳六灵 @ 2017-08-19 20:44:26
@jasonba 你测试下1000000000
by jasonba @ 2017-08-19 22:16:40
@☜闪耀星空☞ 结果是1,主要现在是一分都没有,已经不是极端情况没有解决的问题了,你可以复制下来程序试试
by jasonba @ 2017-08-21 10:16:12
有大神来看下吗
by rgq233666 @ 2017-08-27 11:09:58
你试一下我的1020304050
by rgq233666 @ 2017-08-27 11:10:40
中间的零不可以去掉