【蓝桥杯】切开字符串算法
时间: 2023-12-05 17:03:09 浏览: 133
蓝桥杯基础算法
切开字符串算法是指将一个字符串按照指定的分隔符进行分割,并将分割后的子串存储到一个数组中。在蓝桥杯比赛中,常常会出现需要对字符串进行切割的题目,因此掌握切割字符串的算法是非常重要的。
以下是一种常见的切割字符串的算法:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "hello,world,how,are,you";
char *p;
char *delim = ",";
char *res[10];
int i = 0;
p = strtok(str, delim);
while (p != NULL)
{
res[i++] = p;
p = strtok(NULL, delim);
}
for (int j = 0; j < i; j++)
{
printf("%s\n", res[j]);
}
return 0;
}
```
在上面的代码中,我们使用了C语言标准库中的strtok函数来实现字符串的切割。strtok函数的第一个参数是要被切割的字符串,第二个参数是分隔符。在第一次调用strtok函数时,它会返回字符串中第一个被分隔符分割出来的子串,并将该子串的地址返回给指针p。在之后的调用中,第一个参数传入NULL,表示继续对同一个字符串进行切割,直到整个字符串被切割完毕。
在上面的代码中,我们将切割后的子串存储到了一个字符串数组中,最后遍历该数组并输出每个子串。
阅读全文