编写程序实现字符串的基本操作,包括求串长、赋值、比较、串连接、求子串、替换和定位算法。c语言代码
时间: 2024-01-31 19:02:06 浏览: 93
好的,下面是 C 语言实现字符串的基本操作的代码:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[100], str2[100];
int len, cmp, pos;
printf("请输入字符串1:\n");
scanf("%s", str1);
printf("请输入字符串2:\n");
scanf("%s", str2);
// 求串长
len = strlen(str1);
printf("字符串1的长度为:%d\n", len);
// 赋值
strcpy(str1, str2);
printf("字符串1的内容为:%s\n", str1);
// 比较
cmp = strcmp(str1, str2);
if(cmp == 0) {
printf("字符串1与字符串2相等\n");
}
else if(cmp < 0) {
printf("字符串1小于字符串2\n");
}
else {
printf("字符串1大于字符串2\n");
}
// 串连接
strcat(str1, str2);
printf("字符串1与字符串2连接后的内容为:%s\n", str1);
// 求子串
printf("请输入要查找的子串:\n");
scanf("%s", str2);
char *sub = strstr(str1, str2);
if(sub != NULL) {
printf("子串在字符串1中的位置为:%d\n", sub - str1);
}
else {
printf("子串不存在\n");
}
// 替换
printf("请输入要替换的子串:\n");
scanf("%s", str2);
printf("请输入要替换成的字符串:\n");
scanf("%s", sub);
sub = strstr(str1, str2);
if(sub != NULL) {
memcpy(sub, str2, strlen(str2));
printf("替换后的字符串为:%s\n", str1);
}
else {
printf("子串不存在\n");
}
// 定位算法
printf("请输入要查找字符的位置:\n");
scanf("%s", str2);
char *loc = strchr(str1, str2[0]);
if(loc != NULL) {
printf("字符在字符串1中的位置为:%d\n", loc - str1);
}
else {
printf("字符不存在\n");
}
return 0;
}
注意,这里的字符串操作都是使用库函数实现的,因此需要在代码开头添加 #include<string.h>。
阅读全文