dotcpp-小鸟


私信TA

用户名:xiaoniao

访问量:38412

签 名:

等  级
排  名 232
经  验 6189
参赛次数 0
文章发表 28
年  龄 0
在职情况 学生
学  校 社会
专  业

  自我简介:

解题思路:

    找一个空函数(空容器),通过字符串的比较函数和复制函数,分别对三个字串进行比较,按照顺序进行复制,最后输出。

涉及知识点:

    当两个字符串(a1与a2)比较时,如果a1的字符串大于a2的字符串,那么strcmp(a1,a2)的值为正整数,也就是大于0,反之如果小,则为负整数,也就是小于0,当他两个相等,那么他们的比较值为0;


代码如下:



#include<stdio.h>
#include<string.h>
#define zz 100      //注意定义字符串数组时,值不要太小,太小了会出现运行错误。
int main()
{
	char a[zz],b[zz],c[zz];
	char x[zz];//空容器

	scanf("%s %s %s",a,b,c);//获取字符串
    
	if(strcmp(a,b)>0)//比较1,并进行交换。
	{
		strcpy(x,a);
		strcpy(a,b);
		strcpy(b,x);
	}
	if(strcmp(a,c)>0)//比较2,并进行交换。
	{
		strcpy(x,a);
		strcpy(a,c);
		strcpy(c,x);
	}
	if(strcmp(b,c)>0)//比较3,并进行交换;
	{
		strcpy(x,b);
		strcpy(b,c);
		strcpy(c,x);
	}

	printf("%s\n%s\n%s\n",a,b,c);//输出交换后的字符串。

	return 0;
}


 

0.0分

39 人评分

  评论区

帮我看看哪里错了
#include"stdio.h"
#include"string.h"
int main()
{
	char str1[10]={0},str2[10]={0},str3[10]={0},str[10]={0};
scanf("%s %s %s",str1,str2,str3);//获取字符串
	if(strcmp(str1,str2)>0){
	strcpy(str,str1);
	strcpy(str1,str2);
	strcpy(str1,str);
	}
	if(strcmp(str1,str3)>0){
	strcpy(str,str1);
	strcpy(str1,str3);
	strcpy(str3,str);
	}
	if(strcmp(str2,str3)>0){
	strcpy(str,str2);
	strcpy(str2,str3);
	strcpy(str3,str);
	}
	puts(str1);
	puts(str2);
	puts(str3);
return 0;
}
2019-04-08 19:46:37
很nice!
2019-03-12 21:02:09
太美了
2019-02-18 17:34:35
写得好!!!!!大赞!
2017-08-04 10:54:46