有没有什么好的算法?
5 个解决方案
#1
void FormString(CString& strText, const int DIV)
{
int nLen = strText.GetLength();
if(nLen > DIV)
{
int nIndex = nLen;
while(nIndex > DIV)
{
nIndex -= DIV;
strText.Insert(nIndex, _T(","));
}
}
}
// 调用
CString strText = _T("1111111");
FormString(strText, 3);
AfxMessageBox(strText);
#2
好像不错,比我的简单,我试试
#3
// 优化一下函数
void FormString(CString& strText, const int DIV)
{
int nIndex = strText.GetLength();
while(nIndex > DIV)
{
nIndex -= DIV;
strText.Insert(nIndex, _T(","));
}
}
#4
呵呵,我也发现这个问题了,我是从前往后插的,感觉不如你这个好,
#5
/*begin this file*/
#include<stdio.h>
#include<string.h>
#include<stdarg.h>
#define BUFSIZE 100
int main(){
int a=123456789;
int x[3];
x[0]=3;
x[1]=2;
x[2]=4;
/**************以上是传进来的值****************************/
char szTmp[BUFSIZE] ;
char buf[BUFSIZE];
int i =0;
int offset=0;
sprintf(szTmp,"%d",a); //将整数转换为字符串。
do{
memset(buf,0,BUFSIZE);
strncat(buf,szTmp+offset,x[i]);
offset +=x[i];
if(i == 3-1){
printf("%s",buf);
break ;
} //这里if为了处理最后一个逗号,恶心死我了。
printf("%s,",buf);
i++;
}while(i<3);
return 0;
}
/*endof this file*/
算法不好。hello word 级别的程序。见笑。
#include<stdio.h>
#include<string.h>
#include<stdarg.h>
#define BUFSIZE 100
int main(){
int a=123456789;
int x[3];
x[0]=3;
x[1]=2;
x[2]=4;
/**************以上是传进来的值****************************/
char szTmp[BUFSIZE] ;
char buf[BUFSIZE];
int i =0;
int offset=0;
sprintf(szTmp,"%d",a); //将整数转换为字符串。
do{
memset(buf,0,BUFSIZE);
strncat(buf,szTmp+offset,x[i]);
offset +=x[i];
if(i == 3-1){
printf("%s",buf);
break ;
} //这里if为了处理最后一个逗号,恶心死我了。
printf("%s,",buf);
i++;
}while(i<3);
return 0;
}
/*endof this file*/
算法不好。hello word 级别的程序。见笑。
#1
void FormString(CString& strText, const int DIV)
{
int nLen = strText.GetLength();
if(nLen > DIV)
{
int nIndex = nLen;
while(nIndex > DIV)
{
nIndex -= DIV;
strText.Insert(nIndex, _T(","));
}
}
}
// 调用
CString strText = _T("1111111");
FormString(strText, 3);
AfxMessageBox(strText);
#2
好像不错,比我的简单,我试试
#3
// 优化一下函数
void FormString(CString& strText, const int DIV)
{
int nIndex = strText.GetLength();
while(nIndex > DIV)
{
nIndex -= DIV;
strText.Insert(nIndex, _T(","));
}
}
#4
呵呵,我也发现这个问题了,我是从前往后插的,感觉不如你这个好,
#5
/*begin this file*/
#include<stdio.h>
#include<string.h>
#include<stdarg.h>
#define BUFSIZE 100
int main(){
int a=123456789;
int x[3];
x[0]=3;
x[1]=2;
x[2]=4;
/**************以上是传进来的值****************************/
char szTmp[BUFSIZE] ;
char buf[BUFSIZE];
int i =0;
int offset=0;
sprintf(szTmp,"%d",a); //将整数转换为字符串。
do{
memset(buf,0,BUFSIZE);
strncat(buf,szTmp+offset,x[i]);
offset +=x[i];
if(i == 3-1){
printf("%s",buf);
break ;
} //这里if为了处理最后一个逗号,恶心死我了。
printf("%s,",buf);
i++;
}while(i<3);
return 0;
}
/*endof this file*/
算法不好。hello word 级别的程序。见笑。
#include<stdio.h>
#include<string.h>
#include<stdarg.h>
#define BUFSIZE 100
int main(){
int a=123456789;
int x[3];
x[0]=3;
x[1]=2;
x[2]=4;
/**************以上是传进来的值****************************/
char szTmp[BUFSIZE] ;
char buf[BUFSIZE];
int i =0;
int offset=0;
sprintf(szTmp,"%d",a); //将整数转换为字符串。
do{
memset(buf,0,BUFSIZE);
strncat(buf,szTmp+offset,x[i]);
offset +=x[i];
if(i == 3-1){
printf("%s",buf);
break ;
} //这里if为了处理最后一个逗号,恶心死我了。
printf("%s,",buf);
i++;
}while(i<3);
return 0;
}
/*endof this file*/
算法不好。hello word 级别的程序。见笑。