zoukankan      html  css  js  c++  java
  • 输入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个字符串,要求按由小到大的顺序输出

  • 相关阅读:
    CF854C Planning优先队列|set
    暑假集训-8.9总结
    暑假集训-8.6总结
    AcWing 206. 石头游戏 矩阵乘法|矩阵快速幂
    暑假集训-8.5总结
    KMP 和 扩展KMP
    暑假集训-8.4总结
    暑假集训-8.3总结
    2019牛客暑期多校第二场题解FH
    AcWing 196. 质数距离
  • 原文地址:https://www.cnblogs.com/weiyidedaan/p/13275327.html
Copyright © 2011-2022 走看看