简要描述:给出一个不多于5位的整数, 进行反序处理
要求:
1、求出它是几位数
2、分别输出每一位数字
3、按逆序输出各位数字,例如原数为321,应输出123(仅数字间以空格间隔, 负号与数字之间不需要间隔)
例如:输入:12345
输出:5
1 2 3 4 5
54321
注意:如果是负数,负号加在第一个数字之前, 与数字没有空格间隔
比如
输入:-12345
输出:5
-1 2 3 4 5
-54321
函数原型:
/*
输入:
iInput: 位数不大于5的整数
输出:
iNum: 整数位数
strRst: 空格间隔输出结果
iOutput:逆序整数
返回:
0 成功
-1 输入无效
*/
int ProcessX(int iInput, int& iNum, char * strRst, int& iOutput)
#include <stdlib.h>
#include "oj.h"
/*
功能:
给出一个不多于5位的整数,
要求:
1、求出它是几位数
2、分别输出每一位数字
3、按逆序输出各位数字,例如原数为321,应输出123
输入:
整型 iInput,位数不大于5的整数
输出:
整数位数 iNum
空格间隔输出结果 strRst
逆序整数 iOutput
返回:
0 成功
-1 输入无效
*/
int ProcessX(int iInput, int& iNum, char * strRst, int& iOutput)
{
if(iInput>99999||iInput<-99999)
return -1;
iNum=0;
iOutput=0;
int temp=0;
//输入为0
if(iInput==0)
{
iNum=1;
strRst[0]='0';
strRst[1]='\0';
iOutput=0;
}
else if(iInput>0)
{
int temp=iInput;
while(temp>0)
{
iOutput=iOutput*10+temp%10;
iNum++;
temp=temp/10;
}
int t=0;
temp=iOutput;
while(temp>0)
{
strRst[t++]=temp%10+'0';
strRst[t++]=' ';
temp=temp/10;
}
strRst[--t]='\0';
}
else if(iInput<0)
{
iInput=-iInput;
int temp=iInput;
while(temp>0)
{
iOutput=iOutput*10+temp%10;
iNum++;
temp=temp/10;
}
iOutput=-iOutput;
int t=1;
temp=-iOutput;
strRst[0]='-';
while(temp>0)
{
strRst[t++]=temp%10+'0';
strRst[t++]=' ';
temp=temp/10;
}
strRst[--t]='\0';
}
return 0;
}