帮我用c语言写一个 创建键盘输入的三个字符串,然后把第一个和第二个字符串连接后保存到第三个字符串中并输出第三个字符串(不用strcpy函数)
时间: 2024-02-28 18:52:51 浏览: 40
好的,下面是代码实现:
```c
#include <stdio.h>
int main() {
char str1[50], str2[50], str3[100];
int i = 0, j = 0;
// 读取第一个字符串
printf("请输入第一个字符串:");
while ((str1[i++] = getchar()) != '\n');
// 读取第二个字符串
printf("请输入第二个字符串:");
while ((str2[j++] = getchar()) != '\n');
// 连接字符串
i = 0, j = 0;
while (str1[i] != '\0') {
str3[i] = str1[i];
i++;
}
while (str2[j] != '\0') {
str3[i++] = str2[j++];
}
str3[i] = '\0';
// 输出第三个字符串
printf("连接后的字符串为:%s\n", str3);
return 0;
}
```
这个程序会先读取用户输入的两个字符串,然后将它们连接起来并保存到一个新的字符串中。最后输出这个新的字符串。注意,这里没有使用 `strcpy` 函数,而是手动遍历字符数组实现字符串的连接。
相关问题
查找键盘输入的三个字符串中最大的字符串c语言
在C语言中,要找出键盘输入的三个字符串中最长的一个,你可以这样做:
```c
#include <stdio.h> // 包含输入输出库
#define MAX_LENGTH 20 // 定义最大字符串长度
int main() {
char str1[MAX_LENGTH], str2[MAX_LENGTH], str3[MAX_LENGTH], maxStr[MAX_LENGTH]; // 初始化所有字符串变量
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin); // 使用fgets获取输入防止溢出
str1[strlen(str1) - 1] = '\0'; // 去掉末尾的换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strlen(str2) - 1] = '\0';
printf("请输入第三个字符串: ");
fgets(str3, sizeof(str3), stdin);
str3[strlen(str3) - 1] = '\0';
int len1 = strlen(str1), len2 = strlen(str2), len3 = strlen(str3); // 计算每个字符串的长度
if (len1 > len2 && len1 > len3) { // 检查并更新最大字符串
strcpy(maxStr, str1);
} else if (len2 > len1 && len2 > len3) {
strcpy(maxStr, str2);
} else {
strcpy(maxStr, str3);
}
printf("三个字符串中最大的是: %s", maxStr); // 输出结果
return 0;
}
C语言查找从键盘上输入的三个字符串中最大的字符串
可以使用strcmp()函数实现字符串大小比较,可以使用循环来逐个比较输入的三个字符串,找出最大的字符串。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 50
int main() {
char str1[MAX_LEN], str2[MAX_LEN], str3[MAX_LEN];
printf("请输入三个字符串:\n");
scanf("%s %s %s", str1, str2, str3);
// 比较str1和str2
char max_str[MAX_LEN];
if (strcmp(str1, str2) > 0) {
strcpy(max_str, str1);
} else {
strcpy(max_str, str2);
}
// 再比较max_str和str3
if (strcmp(max_str, str3) < 0) {
strcpy(max_str, str3);
}
printf("最大的字符串是:%s\n", max_str);
return 0;
}
```
在这个示例代码中,我们定义了一个`MAX_LEN`常量来表示输入的字符串的最大长度,然后使用`scanf()`函数从键盘上读入三个字符串。接着,我们使用`strcmp()`函数来比较两个字符串的大小,如果第一个字符串比第二个字符串大,就把第一个字符串复制到`max_str`中,否则把第二个字符串复制到`max_str`中。最后,再用`strcmp()`函数比较`max_str`和第三个字符串的大小,如果第三个字符串比`max_str`大,就把第三个字符串复制到`max_str`中。最终,输出`max_str`即可。
阅读全文