解题思路:

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

涉及知识点:

    当两个字符串(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;
}


点赞(24)
 

0.0分

32 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 24 条评论

飞羽 5年前 回复TA
帮我看看哪里错了
#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;
}
贺州学院K 5年前 回复TA
很nice!
bsdh532 5年前 回复TA
太美了
帝国时代 7年前 回复TA
写得好!!!!!大赞!