使用c语言编写函数,将两个字符串s和t连接起来。s、t的长度均不超过100。不得使用系统库函数。 若s为FirstString--,t为SecondString,则输出结果为FirstString--SecondString。第一行为测试数据的组数T,后跟T组测试数据,每组测试数据包含两行,第一行为字符串s,第二行为字符串t。对于每组测试数据,输出结果单独占一行,为连接后的新字符串。并且不在输出你所输入的字符
时间: 2024-02-24 15:55:09 浏览: 64
可以先编写一个字符串连接的函数,然后在主函数中读入数据,调用函数进行字符串连接并输出结果。可以按照以下方式编写代码:
```c
#include <stdio.h>
void string_concat(char *s, char *t);
int main() {
int T;
scanf("%d", &T);
getchar(); // 读取换行符
while (T--) {
char s[101], t[101];
fgets(s, 101, stdin);
fgets(t, 101, stdin);
// 去掉字符串s和t末尾的换行符
int i = 0;
while (s[i] != '\0') {
if (s[i] == '\n') {
s[i] = '\0';
break;
}
i++;
}
i = 0;
while (t[i] != '\0') {
if (t[i] == '\n') {
t[i] = '\0';
break;
}
i++;
}
// 调用字符串连接函数并输出结果
string_concat(s, t);
printf("%s\n", s);
}
return 0;
}
void string_concat(char *s, char *t) {
// 找到s的末尾
while (*s != '\0') {
s++;
}
// 将t复制到s后面
while (*t != '\0') {
*s = *t;
s++;
t++;
}
// 添加字符串结束标志
*s = '\0';
}
```
在上述代码中,先读入测试数据的组数T,然后使用fgets函数读入每组测试数据的字符串s和t,接着使用循环去掉字符串末尾的换行符,最后调用字符串连接函数并输出结果。注意,使用fgets函数可以读入包含空格的字符串,而scanf函数只能读取空格前的内容。
阅读全文