整数倒置(不确定长度//字符版本) 整数倒置(不确定长度//字符版本)
发布时间
阅读量:
阅读量
输入一个整数,例如789,经过逆序处理后输出结果为987。针对位数不确定的整数,可以选择将其转换为字符数组的方式实现逆序操作。由于无法提前确定输入的位数,因此难以直接控制输入过程,而采用取余运算的方法(如将输入整数123分别计算为a=123%10, b=123/10%10, c=123%100等)也难以彻底解决问题。相比之下,使用字符数组进行输入和输出则更加便捷。
然而,在使用字符数组时会出现一个细节问题,例如当输入为10000时,逆序输出的结果会是00001。但由于该数值本质上是整数,因此多余的前导零会导致结果显示为1,而直接输出包含前导零的逆序字符串显然不够合理。因此需要对这些多余的零进行处理并去除。
代码如下
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char arr[50];
gets(arr);
//判断输入末位是否为'0',并计数
int flag=0;
for(i=strlen(arr)-1;i>=0;i--){
if(arr[i]=='0')
flag++;
else
break;
}
//输出时从非'0'末尾开始
全部评论 (0)
还没有任何评论哟~
