类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
1.编写一个函数,将字符串str中出项的所有str1子串替换成str2,形成一个新的str
2.编写程序,将一元n次多项式进行化简,即将多项式的同类项进行合并,删除0系数项,并使各项按指数升序排列
出现c,请帮忙解决。谢谢!
网友回答:
自定义的String类的replace,
String的成员是unsigned int len;//表示String的一个对象在堆中分配的大小
char * str; //是指向堆中一片大小为len的内存的
首地址.
int String:: Replace(char* from, char* to)
{
int _len = strlen(from);
int _len2 = strlen(to);
int i,j;
char* _temp;
_temp = new char[len]; //Define Temp Variable to store string
memset(_temp,0x00,len); //Init Temp Variable
//Perform replacing
for(i = 0,j = 0; i < strlen(str)-_len;i++,j++)
{
if(!memcmp(str+i,from,_len))
{
memcpy(_temp+j,to,_len2);
i+=_len-1;
j+=_len2-1;
continue;
}
memcpy(_temp+j,str+i,1);
if(strlen(_temp)>= len - _len2)
{
delete _temp;
return -1;
}
}
//Add remainding string
strcat(_temp+j,str+i);
//Replace otiginal string
memset(str,0x00,len);
strcpy(str,_temp);
//Release not necessary temp variable pointer
delete _temp;
return 0;
}
第二个问题作一个数组.用数组下标为n的元素存放x的n次方的系数
1.是典型的字符串匹配问题,书上有!
2。用链表存储,如果用数组容易出问题,比如说该多项式各项次数基本不平均分布,造成数组空间浪费