C语言,写程序:编写函数void fun(char *s1, char *s2, int n)将s2所指字符串的前n个字符连接到s1所指向的字符串后面。主函数输入两个字符串及n,调用函数完成连接过程,输出连接结果。 【输入形式】 两个字符串及n 【输出形式】 连接结果 【样例输入】 hello c world 1 【样例输出】 helloc
时间: 2024-02-25 22:53:49 浏览: 108
好的,这是一个关于字符串操作的 C 语言题目,下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void fun(char *s1, char *s2, int n) {
int len1 = strlen(s1);
int len2 = strlen(s2);
// 如果 s2 长度不足 n,则只连接 s2 的全部字符
if (len2 < n) {
n = len2;
}
for (int i = 0; i < n; i++) {
s1[len1 + i] = s2[i];
}
// 添加字符串结尾符号
s1[len1 + n] = '\0';
}
int main() {
char s1[100], s2[100];
int n;
printf("请输入两个字符串及n: ");
scanf("%s%s%d", s1, s2, &n);
fun(s1, s2, n);
printf("连接结果: %s\n", s1);
return 0;
}
```
输入样例:
```
请输入两个字符串及n: hello c world 1
```
输出样例:
```
连接结果: helloc
```
希望能帮到你!
相关问题
c语言写程序:6-6 连接字符串 分数 5 作者 房正华 单位 青岛工学院 编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。 例如,分别输入下面两个字符串: FirstString-- SecondString 程序输出: FirstString--SecondString 函数接口定义: void fun(char p1[], char p2[]) 其中 p1和p2代表2个字符串。 裁判测试程序样例: void fun(char p1[], char p2[]); int main() { char s1[80], s2[40] ; scanf("%s%s", s1, s2) ; fun(s1, s2) ; printf("%s", s1) ; return 0; } /* 请在这里填写答案 */ 输入样例: FirstString-- SecondString 输出样例: FirstString--SecondString
以下是实现函数 fun 的代码:
```c
void fun(char p1[], char p2[]) {
int i, j;
for (i = 0; p1[i] != '\0'; i++) {
// 找到 p1 的末尾位置
}
for (j = 0; p2[j] != '\0'; j++) {
// 把 p2 复制到 p1 的末尾
p1[i++] = p2[j];
}
p1[i] = '\0'; // 加上字符串结束符
}
```
实现思路是先遍历 p1 找到它的末尾位置,然后再遍历 p2 把它复制到 p1 的末尾。注意最后要加上字符串结束符。
用c语言编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。 例如,分别输入下面两个字符串: FirstString-- SecondString 程序输出: FirstString--SecondString 函数接口定义: void fun(char p1[], char p2[]) 其中 p1和p2代表2个字符串。 裁判测试程序样例: void fun(char p1[], char p2[]); int main() { char s1[80], s2[40] ; scanf("%s%s", s1, s2) ; fun(s1, s2) ; printf("%s", s1) ; return 0; } /* 请在这里填写答案 */ 输入样例: FirstString-- SecondString 输出样例: FirstString--SecondString
以下是实现题目功能的函数fun的代码:
```c
void fun(char p1[], char p2[]) {
int i = 0, j = 0;
while (p1[i] != '\0') {
i++;
}
while (p2[j] != '\0') {
p1[i] = p2[j];
i++;
j++;
}
p1[i] = '\0';
}
```
该函数首先遍历p1字符串,找到其结束位置,然后遍历p2字符串,将其字符一个一个添加到p1字符串的末尾,最后在p1字符串的末尾添加字符串结束符'\0'。
阅读全文