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

这个C语言编程,还有就是算法描述流程图,感谢各位... 这个C语言编程,还有就是算法描述流程图,感谢各位 展开
 我来答
璀璨雪舞
2009-11-10 · TA获得超过226个赞
知道答主
回答量:53
采纳率:0%
帮助的人:83.3万
展开全部
这个我刚好做过,你看看。
#include<stdio.h>
void main()
{
long int a;
int n,b,c,d,e,f;
printf("\n请输入一个整数(0~99999):");
scanf("%d",&a);
if(a>9999)
n=5;
else if(a>999)
n=4;
else if(a>99)
n=3;
else if(a>9)
n=2;
else n=1;
printf("\n这个数的位数=%d",n);
f=a/10000;e=a%10000/1000;d=a%10000%1000/100;c=a%10000%1000%100/10;
b=a%10000%1000%100%10;
printf("\n万位为%d\n千位为%d\n百位为%d\n十位为%d\n个位为%d\n",f,e,d,c,b);
switch(n)
{
case 5:printf("%d%d%d%d%d",f,e,d,c,b);
printf("\n反序数字为:");
printf("%d%d%d%d%d",b,c,d,e,f);break;
case 4:printf("%d%d%d%d",e,d,c,b);
printf("\n反序数字为:");
printf("%d%d%d%d",b,c,d,e);break;
case 3:printf("%d%d%d",d,c,b);
printf("\n反序数字为:");
printf("%d%d%d",b,c,d);break;
case 2:printf("%d%d",c,b);
printf("\n反序数字为:");
printf("%d%d",b,c);
case 1:printf("%d",b);
printf("\n反序数字为:");
printf("%d",b);
}
} 注:f是求万位的数字,后面的以此类推。
笑着笑着醒来了
推荐于2017-12-15 · TA获得超过3653个赞
知道大有可为答主
回答量:4501
采纳率:66%
帮助的人:2013万
展开全部
x>9999 判断是5位的
x>999 判断是4位的
x>99 判断是3位的
x>9 判断是2位的
x<10 判断是2位的

用if .... elseif ....
至于逆序,你可以以整除的方式
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e1b9539c0c
2009-11-09 · TA获得超过734个赞
知道大有可为答主
回答量:2241
采纳率:33%
帮助的人:754万
展开全部
#include <stdio.h>
void main()
{
long a=0,b=0;
int t=0;
scanf("%ld",&a);
for(t=0;a>0;a/=10,t++)
{
b=(b*10)+a%10;
}
printf("%d位的,逆序数=%ld\n",t,b);
return;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3d7e657ef
2009-11-11 · 超过28用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:0
展开全部
用取余的方式得到正整数每个位上的数值,然后输出就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
翱翔宇航
2013-03-31
知道答主
回答量:8
采纳率:0%
帮助的人:1.2万
展开全部
用字符串来最快。。
#include<stdio.h>
#include<string.h>
void main()
{
char a[40];
int k,i;
gets(a);
k=strlen(a);
printf("它是%d位数\n",k);
for(i=k-1;i>=0;i--)
printf("%c ",a[i]);
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式