C语言:求一组数中有几个数,并将其正序和逆序输出,并判断正负
程序员文章站
2022-03-22 21:45:05
...
#include<stdio.h>
#include<math.h>
//求一组数中有几个数,并将其正序和逆序输出,并判断正负
int NumCount(int n)
{
int count = 0;//声明初始值为0
while(n != 0)
{
count++;//1 2 3
n /= 10;//123/10 ==12 12/10==1 1/10 == 0
}
printf("%d\n",count);//打印数的个数
return count;
}
void PrintOrder(int n)
{
if(n==0)
{
printf("0");
return;
}
if(n<0)
{
printf("-");
n=-n;
}
int figures=NumCount(n);
int power=(int)pow((float)10,(float)(figures-1));//pow(x,y),其作用是计算x的y次方。x,y不能同时为int型。
int tmp=0;
while(power!=0)
{
tmp=n/power;
printf("%d ",tmp);
n=n%power;
power=power/10;
}
return ;
}
void PrintRever(int n)
{
if(n == 0)
{
printf("0\n");
return;
}
if(n < 0)
{
printf("- ");
n = -n;
}
int tmp = 0;
while(n != 0)
{
tmp = n % 10;//123 % 10 == 3
printf("%d ",tmp);
n /= 10;//123 /10 = 12
}
printf("\n");
}
int main()
{
PrintOrder(123);
PrintRever(-123);
getchar();
return 0;
}
答案:3。1 2 3,- 3 2 1