#include <stdio.h>
int Getfigures(int n) //位数
{
int i;
int Getfigures(int n) //位数
{
int i;
for(i = 1;(n /= 10) ! = 0; i++) do
{ i++;
{
也可以用 do whlie来写 n/=10;
; ——————————> } while(n != 0)
} return i;
}
void invertedorder(int n) //倒序
{
} return i;
}
void invertedorder(int n) //倒序
{
if( n < 0)
{
printf("-"); //可写可不写,只是为了改变呈现形式
n =-n;
}
do
{
printf("%d ",n%10); //取余数得到个位数
n /= 10; //除整丢弃个位
} while(n != 0);
printf("\n");
{
printf("-"); //可写可不写,只是为了改变呈现形式
n =-n;
}
do
{
printf("%d ",n%10); //取余数得到个位数
n /= 10; //除整丢弃个位
} while(n != 0);
printf("\n");
}
void positivesequence(int n) //正序
{ int i;
{ int i;
int j;
int k=1;
int k=1;
if(n < 0)
{
printf("-");
n=-n;
}
{
printf("-");
n=-n;
}
i = Getfigures (n); //调用位数函数得到数的位数
for(j = 0; j < i-1; j++)
{ k *= 10; } //得到最小位数i的数值,eg:最小四位数1000
do
{
printf("%d ",n/k); //取最高位数
n %= k; //丢弃最高位数
k /= 10; //减少成最小i-1位数的数值
} while (n != 0);
printf("\n");
}
for(j = 0; j < i-1; j++)
{ k *= 10; } //得到最小位数i的数值,eg:最小四位数1000
do
{
printf("%d ",n/k); //取最高位数
n %= k; //丢弃最高位数
k /= 10; //减少成最小i-1位数的数值
} while (n != 0);
printf("\n");
}
int main()
{
printf("%d\n",Getfigures(1234)); //正整数
invertedorder(1234);
positivesequence(1234);
printf("\n");
printf("%d\n",Getfigures(-2598)); //负整数
invertedorder(-2598);
positivesequence(-2598);
printf("\n");
printf("%d\n",Getfigures(0)); //特殊数值0
invertedorder(0);
positivesequence(0);
printf("\n");
return 0;
}
{
printf("%d\n",Getfigures(1234)); //正整数
invertedorder(1234);
positivesequence(1234);
printf("\n");
printf("%d\n",Getfigures(-2598)); //负整数
invertedorder(-2598);
positivesequence(-2598);
printf("\n");
printf("%d\n",Getfigures(0)); //特殊数值0
invertedorder(0);
positivesequence(0);
printf("\n");
return 0;
}
结果: