如何将int a[32]数组转化为字符串s,并且数组里面的值都变成三位数

例如:a[0]=1,a[1]=2,a[2]=3,a[3]=45,a[4]=987转成字符串之后就变成s="001002003045987"

第1个回答  2011-09-07
你的意思是将数组a中的3位整数放进字符串中,不足3位前面补零?
自己写个函数吧,算法很简单,就是仿手动转化。
给你写个伪代码吧(呃,C和PASCAL融合版)
Function ToS(int num) //参数为a[i]中的数
{
//转化
sting a="";//记住要初始化。
NumToStr(a,num);//将数值转化成字符串,不同语言函数不同。
if num<10 then str=str+"00"+a;
if num>9 and num<100 then str=str+"0"+a;
if num>=100 then str=str+a;
}

program main()
{
int a[32];
string str="";//顺便将字符串初始化。
for i=1 to 32 do ToS(a[i]);//调用ToS函数开始转化。
}

只是大概写了下,具体代码自己写吧。编程主要是学习思想,代码神马的都是浮云。
第2个回答  2011-09-07
如果是转换成CString就容易了
int a[32] ;
CString strValue =_T("");
CString strOneData;
for ( int i= 0 ;i< 32; ++i )
{
strOneData = _T("");
if ( a[i]>=0 && a[i]<10)
{
strOneData.Format(_T("00%d"),a);
}
else if ( a[i]>=10 && a[i]<100)
{
strOneData.Format(_T("0%d"),a);
}
else
{
strOneData.Format(_T("%d"),a);
}

strValue+=strOneData;
}
第3个回答  2011-09-07
for(int i=0;i<32;i++){
if(a[i]<100)
s+="0";
if(a[i]<10)
s+="0";
s+=a[i];
}本回答被提问者采纳
第4个回答  2011-09-07
遍历数组
自己拼
第5个回答  2011-09-07
什么语言?
相似回答