C语言中如何将一个数字的各个位上的数分别提取?
C语言中如何将一个未定的多位数字的各个位上的数字单独提取出来呢?能否给出具体的语句?(以VisualC6.0为平台)谢谢!!!...
C语言中如何将一个未定的多位数字的各个位上的数字单独提取出来呢?能否给出具体的语句?(以 Visual C 6.0 为平台) 谢谢!!!
展开
5个回答
展开全部
我来拿分了。假设输入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;
}
以上。
#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;
}
以上。
展开全部
#include "stdio.h"
int main()
{ int t,n;
t=12345;
while(t)
{ n=t%10; //从t的个位依次提取
t=t/10;
....
}
}
int main()
{ int t,n;
t=12345;
while(t)
{ n=t%10; //从t的个位依次提取
t=t/10;
....
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char a[50];
int m; //你的数字 比如123456789
int index; //你要读取的位置 比如个位 1
int n; //读取之后的数值
sprintf(a, "%d", m);
n = a[index - 1] - '0';
应该是可以的
int m; //你的数字 比如123456789
int index; //你要读取的位置 比如个位 1
int n; //读取之后的数值
sprintf(a, "%d", m);
n = a[index - 1] - '0';
应该是可以的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数字: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]
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]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
define NUM 10
int m//
int a[NUM];
int i = 0;
while(m>=10)
{
a[i++]= m%10;
m /= 10;
}
a[i] = m;
int m//
int a[NUM];
int i = 0;
while(m>=10)
{
a[i++]= m%10;
m /= 10;
}
a[i] = m;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询