C语言中把一个数倒过来输入

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:21:41
/* 给一个不多于5位的正整数 要求:
(1)求出它是几位数
(2)分别输出每一位数字
(3)按逆序输出各位数字,123→321*/
#include "stdio.h"
main()
{
int a,b,c,d,e,place; /*place是位数 */
long int f,g;
printf("please input a figure:");
scanf("%ld",&f);
if(f>=100000||f<0)
printf("error");
else if(f/10000>0)
place=5; /*用place为了方便第三问 也是一种更好的方法*/
/* printf("you 5 wei\n"); */
else if(f>999) /*此方法更简单*/
place=4;
/* printf("you 4 wei\n"); */
else if(f/100>0)
place=3;
/* printf("you 3 wei\n"); */
else if(f/10>0) /*不要写成% 应该是/除号*/
place=2;
/* printf("you 2 wei\n"); */
else

太麻烦了...

#include <stdio.h>

typedef unsigned uint;

uint DigitCount(uint n)
{
int i = 0;
do{++i, n /= 10;}while(n != 0);
return i;
}

void SpaceOut(uint n)
{
if(n > 0)
SpaceOut(n/10);
if(n != 0)
printf("%d ", n % 10);
}

void ReversePrint(uint n)
{
if(n > 0)
{
printf("%d", n % 10);
ReversePrint(n/10);
}

}

int main()
{
int n = 12345;

printf("%d has %u digits\n", n, DigitCount(n));

printf("Space out: ");
SpaceOut(n);

printf("\nPrint in reverse order: ");
ReversePrint(n);
}

好长啊,要是java就好; 了

可以用5位的char数组来接收啊,判断的时候用循环.不就简单了..

a