输入3个字符串,要求按由小到大的顺序输出
Posted weiyidedaan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入3个字符串,要求按由小到大的顺序输出相关的知识,希望对你有一定的参考价值。
输入3个字符串,要求按由小到大的顺序输出。
解题思路: 字符串的比较可以使用strcmp函数,返回值>0表示大于,返回值小于0表示小于,返回追等于0表示相同。其他的比较排序思路与数字的排序交换没有区别,逐个进行比较先找出最大的,然后找出第二大的。
答案:
#include <stdio.h>
int main()
{
char str[3][32];
char *p[3];
printf("Please enter three strings:");
for (int i = 0; i < 3; i++) {
p[i] = str[i];
scanf_s("%s", p[i], 32);//后边的数字限制缓冲区边界,防止缓冲区溢出访问越界
}
//让p[0]和p[1]/p[2]分别进行比较,找出最大的字符串,i+1之后,则让p[1]和p[2]进行比较,找出第二大
//i循环总个数-1次,最后一个是不需要比较的
for (int i = 0; i < 2; i++) {
for (int j = i + 1; j < 3; j++) {
if (strcmp(p[i], p[j]) > 0) {
char *tmp = p[i]; p[i] = p[j]; p[j] = tmp;
}
}
}
printf("%s %s %s
", p[0], p[1], p[2]);
system("pause");
return 0;
}
以上是关于输入3个字符串,要求按由小到大的顺序输出的主要内容,如果未能解决你的问题,请参考以下文章