
C语言编程:给一个不多于3位的正整数,要求编程实现(1)求它是几位数?(2)逆序输出各位数字?
4个回答
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
手机码字就不打代码了,给你个想法,把这个数不断取余,同时每取余一次,计数器加1,并把这个余数存入数组,直到这个数为0为止。那么,此时计数器的数就是位数,把数组顺序输出就是那个整数的逆序输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询