字符串str1和str2作为输入参数,分别传入cut函数。cut函数负责从传入的字符串中截取指定范围(例如:从第2个字符开始,到第5个字符结束的部分)的内容(截取范围也作为 cut 函数的输入参数传入。)。截取结果分别放在字符串 str3 和 str4 中。再将 str3 和str4 作为输人参数传人 connect 函数。connect 函数负责将传入的两个字符串顺序拼接在起。编程实现上述函数,要求最终输出拼接结果。不能用全局变量。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void cut(char str[], int start, int end, char result[])
{
int len = strlen(str);
if (end > len) {
end = len;
}
int j = 0;
for (int i = start; i < end; i++) {
result[j] = str[i];
j++;
}
result[j] = '\0';
}
void connect(char str1[], char str2[], char result[])
{
int len1 = strlen(str1);
int len2 = strlen(str2);
int i = 0;
for (; i < len1; i++) {
result[i] = str1[i];
}
for (int j = 0; j < len2; j++) {
result[i] = str2[j];
i++;
}
result[i] = '\0';
}
int main()
{
char str1[100], str2[100], str3[100], str4[100], result[200];
int start, end;
printf("Input string 1: ");
scanf("%s", str1);
printf("Input string 2: ");
scanf("%s", str2);
printf("Input start index and end index to cut from string 1 (separated by space): ");
scanf("%d %d", &start, &end);
cut(str1, start, end, str3);
printf("Result of cutting string 1: %s\n", str3);
printf("Input start index and end index to cut from string 2 (separated by space): ");
scanf("%d %d", &start, &end);
cut(str2, start, end, str4);
printf("Result of cutting string 2: %s\n", str4);
connect(str3, str4, result);
printf("Result of connecting the two strings: %s\n", result);
return 0;
}
这个程序需要用户输入两个字符串以及从第几个字符开始截取和截取到第几个字符。然后,cut函数将分别从这两个字符串中截取所需的部分,并将结果存储在str3和str4中。接下来,connect函数将把这两个字符串连接起来,最终结果存储在result中并输出。