C语言程序从键盘上输入两个字符串若不相等将短的字符串连接到长的字符串的末尾并

2025-01-05 09:27:28
推荐回答(3个)
回答1:

#include "stdio.h"

#include "string.h"

#define MAX 500

void main()

{

char str1[MAX], str2[MAX];

int len1, len2;

printf("input string 1 : ");

gets(str1); /* 输入字符串1 */

printf("input string 2 : ");

gets(str2); /* 输入字符串2 */

len1 = strlen(str1); /* 获取字符串1的长度 */

len2 = strlen(str2); /* 获取字符串2的长度 */

if(len1 < len2)

{

strcat(str2, str1); /* 将短的字符串1接在较长的字符串2的后面 */

printf("new string : %s\n", str2);

}

else

{

strcat(str1, str2);

printf("new string : %s\n", str1);

}

}

for(k=0;a[k]!=0;k++)

{

printf("%s",a[k]);

}

改成

for(k=0;a[k]!=0;k++)

{

printf("%c",a[k]);

}

扩展资料:

C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件

文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件;中。

标准输入/输出

有三个标准输入/输出是标准I/O库预先定义的:

stdin标准输入

stdout标准输出

stderr输入输出错误

参考资料来源:百度百科-c语言

回答2:

#include
int main()
{
char a[100];
char b[100];
int i;
int j;
int len_a;
int len_b;

printf("input string a:\n");
gets(a);

printf("input string b:\n");
gets(b);

len_a = 0;
while(a[len_a])
{
len_a++;
}

len_b = 0;
while(b[len_b])
{
len_b++;
}

if(len_a>len_b)
{
i = len_a;
j = 0;
while(b[j])
{
a[i] = b[j];
i++;
j++;
}
a[i] = '\0';
printf("string a is longer than string b:\n");
printf("%s\n",a);
}

if(len_a {
i = 0;
j = len_b;
while(a[i])
{
b[j] = a[i];
i++;
j++;
}
b[j] = '\0';
printf("string b is longer than string a:\n");
printf("%s\n",b);
}

return 0;
}

运行效果:
C:\Documents and Settings\Owner\桌面>test.exe
input string a:
kjlasdjlafuiw3hj3k4
input string b:
56sfd6a
string a is longer than string b:
kjlasdjlafuiw3hj3k456sfd6a

C:\Documents and Settings\Owner\桌面>

回答3:

#include"stdio.h"
#include "string.h"
void main()
{
char s1[50];
char s2[50];
scanf("%s",s1);
scanf("%s",s2);
if(strcmp(s1,s2))
{
if(strlen(s1)>strlen(s1))
strcat(s1,s2);
else
strcat(s2,s1);
puts(s1);
}
else
puts("相同");
}