① 一道c语言面试题,请帮忙思考一下,给出对应的算法,谢谢
{
struct {
char key[12];
char value[32];
}list1[7]={{"",""毕含铅磨},{},};
string str="您好,你的卡号末四位[var1]在[var2]日[var3]时[var4]分[var5]消费了手激笑[var6]元,本次你消费了[var6]元将获取相应积分。[var7]";
string temp=str;
string::size_type t;
for(int i=0;i<6;++i){
t=temp.find_first_of(list1[i].key);
temp=str.substr(0,t);
temp+=list1[i].value;
temp+=str.substr(t+strlen(list1[i].key),str.size());
str=temp;
}
}
这是C++思路 C就把string的相关操作自己写下
② 经典C语言面试算法题
经典C语言面试算法题
1.写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回
9,outputstr所指的值为123456789。
#include
#include
#include
int FindMax_NumStr(char *outputstr,char *inputstr)
{
char *in = inputstr,*out = outputstr,*temp;
char *final;
int count = 0;
int maxlen = 0;
int i;
while(*in!='