您的位置:首页 > 其它

从一个字符串中提取子字符串 /字符串的逆置/查找字符第一次出现的位置

2016-06-24 17:02 441 查看
题目:使用C语言编写函数,从一个字符串中提取一个子字符串。

原型:int substr(char dst[],char src[],int start,int len){}

<span style="font-family:Microsoft YaHei;font-size:24px;">#include<stdio.h>
#include<assert.h>
#include<string.h>
int substr(char dst[], char src[], int start, int len)
{
assert(src);
for (int i = 0; i < start; i++)
{
src++;
}
if (len>strlen(src))
{
len = strlen(src);
}
int ret = len;
for (int i = 0; i < ret; i++)
{
*dst++ = *src++;
}
*dst = '\0';
return ret;
}
int main()
{
char *p = "bit-teach";
char arr[10];
int ret = substr(arr, p, 5, 5);
printf("%d\n%s\n", ret, arr);
system("pause");
return 0;
}</span>


题目:字符串内容的逆置

<span style="font-family:Microsoft YaHei;font-size:24px;">//字符串内容逆序
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
void arr_reverse(int* arr, int size)
{
assert(arr);
char* start = arr;
char* end = start + size;
while (start < end)
{
char tmp = *start;
*start = *end;
*end = tmp;

start++;
end--;
}
}

int main()
{
char arr[] = "hello-bit";
arr_reverse(arr, strlen(arr) - 1);

printf("%s\n", arr);
system("pause");
return 0;
}</span>


题目:查找字符第一次出现的位置

//在字符串中查找一个字符第一次出现的位置,返回字符的位置,若不存在,就返回NULL
#include<stdio.h>
#include<assert.h>
void SearchLetter(char* arr, char tmp)
{
assert(arr);
while (*arr)
{
if (*arr == tmp)
{
printf("%s\n", arr);
return;
}
++arr;
}
printf("NULL\n");
}

int main()
{
char arr[] = "abcdefghijk";
SearchLetter(arr, 'j');
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: