C语言中如何将一个数字的各个位上的数分别提取?

C语言中如何将一个未定的多位数字的各个位上的数字单独提取出来呢?能否给出具体的语句?(以VisualC6.0为平台)谢谢!!!... C语言中如何将一个未定的多位数字的各个位上的数字单独提取出来呢?能否给出具体的语句?(以 Visual C 6.0 为平台) 谢谢!!! 展开
 我来答
百度网友cc2626b
2015-09-12 · TA获得超过125个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:56.8万
展开全部
我来拿分了。假设输入5位数。
#include <stdio.h>

int main()
{
int a,b1,b2,b3,b4,b5;
scanf("%d",&a);
d1=(int)a/10000;
d2=(int)(a-d1*10000)/1000;
d3=(int)(a-d1*10000-d2*1000)/100;
d4=(int)(a-d1*10000-d2*1000)/10;
d5=(int)a-d1*10000-d2*1000-d3*100;
printf("万位为:%d\n千位为:%d\n百位为:%d\n个位为:%d\n",d1,d2,d3,d4,d5);
return 0;
}
以上。
silenceandluo
推荐于2017-09-29 · TA获得超过1046个赞
知道小有建树答主
回答量:713
采纳率:0%
帮助的人:272万
展开全部
#include "stdio.h"
int main()
{ int t,n;
t=12345;
while(t)
{ n=t%10; //从t的个位依次提取
t=t/10;
....
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小城_7
2012-11-23 · 超过10用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:24.7万
展开全部
char a[50];
int m; //你的数字 比如123456789
int index; //你要读取的位置 比如个位 1
int n; //读取之后的数值
sprintf(a, "%d", m);
n = a[index - 1] - '0';

应该是可以的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友948f699
2012-11-23
知道答主
回答量:53
采纳率:0%
帮助的人:8.6万
展开全部
数字:n

m=n;
int a[];
int i=0;
int j=1;// 计数
while(m>10)
{a[i]=m%10;
m=m/10;
i++;
j++;
}

最高位是 m 其他的是在a[]中

n=m*(j个10)+a[j-1]*(j-1个10)+......a[1]*10+a[0]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8b71b6320
2012-11-23
知道答主
回答量:30
采纳率:0%
帮助的人:14.4万
展开全部
define NUM 10
int m//
int a[NUM];
int i = 0;
while(m>=10)
{
a[i++]= m%10;
m /= 10;
}
a[i] = m;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式