整型反序
Posted claireyuancy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整型反序相关的知识,希望对你有一定的参考价值。
简要描写叙述:给出一个不多于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; }
以上是关于整型反序的主要内容,如果未能解决你的问题,请参考以下文章