Advertisement

整数倒置(不确定长度//字符版本) 整数倒置(不确定长度//字符版本)

阅读量:

输入一个整数,例如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)

还没有任何评论哟~