输入一个不多于5位的正整数

来源:百度知道 编辑:UC知道 时间:2024/07/02 08:37:09
输入一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
我做了一个这个。这样能继续求出逆序吗?不能的话,好象是要用循环。怎么做呢?

#include <stdio.h>

void main()
{
int i,a=0,b;

int a=i

scanf("%d",&i);

if(i<=9&&i>=0)
printf("一位数\n",i);

if(i<=99&&i>=10)
printf("二位数\n",i);

if(i<=999&&i>=100)
printf("三位数\n",i);
if(i<=9999&&i>=1000)
printf("四位数\n",i);
if(i<=99999&&i>=10000)
printf("五位数\n",i);

}

你这个程序写的有点散.大致思路是对的,但写的有错.
看你写程序应该还没学递归调用吧,那我就给你写一个不递归的.
#include<stdio.h>
#include<math.h>
main()
{int n,i;
long a,b;
n=0;
printf("Please enter a number<99999 ");
scanf("%d",&a);
if(a>99999||a<0)
printf("Please enter a number<99999 and >0 ");
else
{b=a;
while(b%10>0)
{ n++;
b/=10;
}
for(i=n-1;i>=0;i--)
{b+=(a%10)*pow10(i);
a/=10;}
printf("%d,%ld\n",n,b);
}
}

重新帮你改过了,这个可以运行了.具体改的地方发你百度消息里了.

#include <stdio.h>

void func(int n)
{
if(n)
{
printf("%d",n%10);
func(n/10);
}
}

void main()
{
int n,m;

scanf("%d",&n);
if(n<10) m=1;
else if(n<100) m=2;
else if(n<1000) m=3;
else if(n<10000) m=4;
else if(n<100000) m=5;
printf("

输入一个不多于5位数的正整数,求它的位数和逆序数。 给一个不多于5位的正整数:分别输出他的每一位数字 用C语言编程:给出一个不多于5位的正整数,判断它是几位数 写一个程序 读取一个不多于5位数字的正整数 判断它是否为回文数 c语言输入一个不多于5位正整数要求:求出它是几位数;分别打印出每一位数字;按逆序输出各位数字。 给一个不多于3位的正整数,求他是几位数(c语言) c++程序设计:给一个不多于五位的正整数要求出它是几位数 C语言~输入不多于3位正整数。判断位数,从小到大写出 给一个不多于5位的正整数,求出它是几位数?分别打出每一位数字?按逆顺序打出各位数字?请用C语言编程。 给一个不多于5位的正整数,要求1,求出它是几位数!2分别打印出每一位数字!3按逆序打印出各数字!!