2025 华为校园招聘机考试题总结(厦门大学)1、删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数
#include #include #include #include int delete_sub_str(const char *str,const char *sub_str,char *result){assert(str
= NULL && sub_str
= NULL);const char *p,*q;char *t,*temp;p = str;q = sub_str;t = result;int n,count = 0;n = strlen(q);tmep = (char *)malloc(n+1);memset(temp,0x00,n+1);while(*p){memcpy(temp,p,n);if(strcmp(temp,q) == 0 ){count++;memset(temp;0x00,n+1);p = p + n;}else{*t = *p;p++;t++;memset(temp,0x00,n+1);}}free(temp);return count;}int main(){char s[100] = {‘\0’};int num = delete_sub_str(“123abc12de234fg1hi34j123k”,”123”,s);printf(“The number of sub_str is %d\r\n”,num);printf(“The result string is %s\r\n”,s);}2、约瑟夫环是一个数学的应用问题:已知 n 个人(以编号 1,2,3
n 分别表示)围坐在一张圆桌周围
从编号为 k 的人开始报数,数到 m 的那个人出列;他的下一个人又从 1 开始报数,数到 m 的那个人又出列;依此