C语言基础篇
接下来给大家介绍一个用基础算法判断一个任意整数的位数并且正向逆向输出各位数。
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c,d,e,f,g,h;
int count1 = 1,count2=1;
scanf("%d",&a); //读取整数
c = a;
d=a;
f=a;
while(f / 10 != 0) //用取余法判断位数
{
count1++;
g = f % 10;
f = f / 10;
}
printf("%d\n",count1); //输出位数
while(a % 10 != 0) //用整除法正向输出各个位数
{
h = a / (int)pow(10,(count1-1));
printf("%d ",h);
a = a % (int)pow(10,count1-1);
count1--;
}
printf("\n");
while(d / 10 != 0) //用循环除10取余法逆向输出各个位数
{
e = d % 10;
printf("%d ",e);
d = d / 10;
}
e = d % 10;
printf("%d\n",e);
return 0;
}
希望有更好算法的网友可以在下方评论!第一次写,希望可以帮助到你们!