逆序数

Description
输入一个任意整数(int型),输出其位数并逆序输出该数。

Input
输入一个任意整数(int型)

Output
输出其位数及逆序数

Sample Input
12345
-123
100
Sample Output
54321 5
-321 3
1 3

  #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

   int main(int argc, char *argv[]) {
    	int n;
    	while(scanf("%d",&n)!=EOF){
    		int a[20];	int i;
    		//数组初始化 
    		for(i=0;i<20;i++){
    			a[i]=0;
    		}
    		int m=n;//n值拷贝
    		 //处理0的情况 
    		if(n==0) printf("0 1\n");
    		else{
    				int sum=0;
    				int count=0;
    				//分离数字 
    				while(n!=0){
    					a[count]=n%10;
    					n/=10;
    					count++;			
    				}
    				//倒序输出 
    				int k=0;//记录是否输出第一个非零数 
    				if(m>0){
    					//输出正数 
    						for(i=0;i<count;i++){
    								if(a[i]!=0&&k==0||k==1){
    									printf("%d",a[i]);
    									k=1;
    								}
    								
    						}
    					
    				}else{
    					//输出负数 
    					printf("-");
    						for(i=0;i<count;i++){
    					
    							if(a[i]!=0&&k==0||k==1){
    										printf("%d",abs(a[i]));
    										k=1;
    								}
    					
    						}
    			
    				}
    					printf(" %d\n",count);
    					
    		}
    	} 
    	
    	return 0;
    }
全部评论

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务