C语言编程:给一个不多于3位的正整数,要求编程实现(1)求它是几位数?(2)逆序输出各位数字?

 我来答
cdinten
2014-12-18 · TA获得超过6590个赞
知道大有可为答主
回答量:3562
采纳率:56%
帮助的人:1388万
展开全部
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[3]={0,0,0};
    int n,i=0,j;
    printf("Please Input a number:");
    scanf("%d",&n);
    while(n)
    {
        a[i++]=n%10;
        n/=10;
    }
    printf("This number has %d digit(s).\n",i);
    printf("reverse number is:");
    for(j=0;j<i;j++)
        printf("%d",a[j]);
    return 0;
}

kikilizhm
2014-12-18 · 超过17用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:19.3万
展开全部
#include<stdio.h>

int main()
{
int i=0;
int j = 0;
int n = 0;
int v[3] = {0};
printf("请输入一个不大于3位的正整数:");
scanf("%d", &n);
if((n<=0)|| (n>=1000))
{
printf("输入非法数字!");
return -1;
}
v[0] = n/100;
v[1] = (n%100)/10 ;
v[2] = (n%10);
printf("位数:%d ; 逆序: ",i = ((v[0]>0)? 3:((v[1]>0)?2:1)));
for(j=0;j<i;j++)
{
printf("%d", v[i-j]);
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾非名家
2014-12-18 · 超过23用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:41.1万
展开全部
手机码字就不打代码了,给你个想法,把这个数不断取余,同时每取余一次,计数器加1,并把这个余数存入数组,直到这个数为0为止。那么,此时计数器的数就是位数,把数组顺序输出就是那个整数的逆序输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lemon潞
2014-12-18 · 超过15用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:31.7万
展开全部
int data,times=0,res=0;

scanf("%d",data);
while(data)
{
    res = res*10 + data%10;
    data = data/10;
    times++;
}

printf("\r\n%d figures\r\n",times);

printf("result data:%d",res);

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式