C语言逆序数问题

用C语言处理逆序数问题
要求依次输出
1.位数
2.每一个数字
3.逆序数
代码如下

#include<math.h>
#include<stdio.h>
int main()
{
    
    
	int a,b,c,d,e;
	printf("输入一个正整数:");
	scanf("%d",&a);
	int j=0;
	int i=10;
	b=1;
	d=0;
	e=a;
	while(b!=0)//获得逆序数 
	{
    
    
		d=d*10;
		b=e/i;
		c=e%i;
		e=b;
		j++;//获得位数 
		d=d+c;
	}
	printf("它是%d位数\n",j);
	i=j;
	printf("每一位数字:");
	e=a;
	for(j;j>=1;j--)//输出每一位数 
	{
    
    
		int g=pow(10,j-1);
		b=e/g;
		e=e%g;
		printf("%d ",b);
		
	}
	printf("\n逆序数为:%0*d",i,d);
	return 0;
 } 

注意特殊输入
示例:
输入一个正整数:1000
输出:它是4位数
每一位数字:1 0 0 0
逆序数为:0001
这里用到printf方法%0*d *号表示位数,在后面用i替代

猜你喜欢

转载自blog.csdn.net/Karthus77/article/details/109263232