整型反序

简要描述:给出一个不多于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;
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值