C++ 如何将一个数的各位数赋值给一个数组

源数位数未知,所以可能要用动态数组,怎么用?或者向量?... 源数位数未知,所以可能要用动态数组,怎么用?或者向量? 展开
 我来答
傲世修罗王
推荐于2016-01-02 · TA获得超过1085个赞
知道小有建树答主
回答量:1034
采纳率:0%
帮助的人:733万
展开全部
#include <iostream>
using namespace std ;

//求一个数有多少位
int GetDigitCount(int n)
{
int c = 0 ;
while (n)
{
n /= 10 ;
++c ;
}
return c ;
}

int main(void)
{
int num = 12345 ;

//取得数字的位数
int c = GetDigitCount(num) ;

//动态分配数组
int* a = new int[c] ;

//用数字各位填充数组,注意倒着填充
for (int i = c - 1; i >= 0; --i)
{
a[i] = num % 10 ;
num /= 10 ;
}

//输出数组中的数据
for (int i = 0; i < c; ++i)
{
cout << a[i] ;
}
cout << endl ;

delete a ;
a = NULL ;

system("pause") ;
return 0 ;
}
笑熬将胡
2010-05-09 · TA获得超过301个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:105万
展开全部
可以定义一个字符串,然后用
sprintf(s,"%d",i);
可以将一个整数i,转变成字符串s。
然后用strlen(s),可求得字符串s,也就是整数i的长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林声飘扬
2010-05-09 · TA获得超过1630个赞
知道小有建树答主
回答量:1126
采纳率:50%
帮助的人:953万
展开全部
#include <iostream>

int main()
{
int count=0,x,n;

int *p=new int[count];

cout<<"input a number:"<<" ";
cin>>x;

while(x)
{ p[count]=x%10;
x/=10;
count++;
}

for(n=count-1;n>=0;--n)
cout<<" "<<p[n];

delete[] p;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
279686030
2010-05-09 · 超过30用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:56.5万
展开全部
可以用itoa函数,楼主可以在百度百科一下这个函数,当然也可以自己写一个函数实现这个功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式