Codeup-C语言10.15

题目描述

输入3个字符串,按从小到大的顺序输出。要求使用指针的方法进行处理。

输入

3行,每行一个用字符串。保证每个字符串的长度不超过20。

输出

按从小到大的顺序输出这3个字符串,每个字符串一行。
请注意行尾输出换行。

样例输入

China
CLOCK
deal

样例输出

CLOCK
China
deal

        对于这个题目,感觉还是很简单,但是刚开始编写起来把自己给绕晕了,可能也是C语言中指针那块学的不太好吧,如果题目中不说指针,那还是觉得蛮简单的,后来把这一题给研究出来了,虽然问题不大,能做出来通过还是挺开心的。

       对于这题,需要用指针来完成,在主函数中,没有设置指针的函数,而是用3个字符型数组进行存储,可以通过<string.h>的头文件,引入所需要的关于字符串的表达,先判断每个字符串的大小,用strcmp函数,然后调用自己写的函数,完成将字符串按照从小到大的顺序排列,最终完成了这一题。

       代码如下:(采用codeblocks编写)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void exchange(char *p1,char *p2); //函数声明

int main()

{
	char str1[20],str2[20],str3[20];  //定义三个字符数组
	gets(str1); //输入字符串
    gets(str2); //输入字符串
    gets(str3); //输入字符串
	if(strcmp(str1,str2)>0)  //调用 比较函数
		exchange(str1,str2);
	if(strcmp(str1,str3)>0)
		exchange(str1,str3);
    if(strcmp(str2,str3)>0)
		exchange(str2,str3);
	printf("%s %s %s",str1,str2,str3);
	return 0;
}

void exchange(char *p1,char *p2)
{
    
    char p[20]={};
    strcpy(p,p1);
    strcpy(p1,p2);
    strcpy(p2,p);
}

猜你喜欢

转载自blog.csdn.net/Zizizi9898/article/details/88563701