一道c语言题目,求大神解答~~~

给一个不多于5位的正整数,要求:1、求出它是几位数2、分别输出每一位数字3、按逆序输出各位数字... 给一个不多于5位的正整数,要求:
1、求出它是几位数
2、分别输出每一位数字
3、按逆序输出各位数字
展开
 我来答
Negamax
2012-12-08 · TA获得超过2722个赞
知道小有建树答主
回答量:656
采纳率:100%
帮助的人:288万
展开全部
先贴效果:

请输入一个不多于5位的正整数:
25879
该数是 5 位数,正序是 25879 ,逆序是 97852

再贴代码:
#include "stdio.h"
#include "conio.h"
main()
{
int x=0,y=0,old;
int count=0;
printf("请输入一个不多于5位的正整数:\n");
scanf("%d",&x);
if(x<0||x>=100000)
{
printf("对不起,您输入的数不符合要求!\n");
}
else
{
old=x;
while(x>0)
{
count++;
y=y*10+(x%10);
x=x/10;
}
printf(" 该数是 %d 位数,正序是 %d ,逆序是 %d \n",count,old,y);
}
getch();
}

思路:
while(x>0)
{
printf("%d",x%10);
x=x/10;
}
把一个数 每次除10取余,就得到个位了。
再把这个数除10(整除),就缩小为原来的10分之一了。在此处理就得到十位了。依次循环
直到为0结束!

为了按你的顺序打印出来,我就特别处理了下。用old记录原来输入的x,y记录新的数

好运!
White_MouseYBZ
2012-12-08 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6588万
展开全部
#include "stdio.h"//
#include "string.h"//
void main(void){
char a[6],i;
printf("Type an integer(<6 long)...\nn=");
gets(a);
printf("It is %d of long.\n",strlen(a));
printf("Positive sequence output is: ");
for(i=0;a[i];printf("%c ",a[i++]));
printf("\n");
printf("Reverse sequence output is: ");
strrev(a);
for(i=0;a[i];printf("%c ",a[i++]));
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔囡4583246
2012-12-08 · 超过25用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:60.3万
展开全部
#include <stdio.h>
int main()
{
int num=43453;
int a=0;
int i;
int digit=0; //位数
while (num)
{
a=num%10; //求余数
num=num/10;
printf("%d ",a);
digit++;
}
printf("%d",digit);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1040870658
2012-12-08
知道答主
回答量:2
采纳率:0%
帮助的人:3067
展开全部
#include<stdio.h>
void main()
{
int n,i,w,a[6];//建立记录位数的w以及存储每位数的数组a
scanf("%d",&n);//输入该数
if(n>=0)//判断该数为几位数
w=1;
if(n>=10)
w=2;
if(n>=100)
w=3;
if(n>=1000)
w=4;
if(n>=10000)
w=5;
printf("%d\n",w);//输出位数
for(i=1;i<=5;i++)
{
a[i]=n/pow(10,5-i);//对n取整,用数组记录该位数的数字
n=n-a[i]*pow(10,5-i);//取该数剩下大小
}
for(i=1;i<=5;i++)//正序输出(因为之前取整是按5位数取整,如果该数小于5位,则取整出现0)
if(a[i]!=0) printf("%d",a[i]);
for(i=5;i>=1;i--)//逆序输出
if(a[i]!=0) printf("%d",a[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
90后_诚信
2012-12-08
知道答主
回答量:85
采纳率:0%
帮助的人:21.1万
展开全部
这个你可以输入一个string的类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式