• 输入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个字符串,要求按由小到大的顺序输出

  • 相关阅读:
    javascript window.Event对象
    sql 命令
    ASP.NET 2.0实现防止同一用户同时登陆
    设计模式(抽象工厂模式)
    javascript幻灯片
    javascript window.open
    c# 注册表操作
    大话英语
    oracle 插入、合并、查询、聚合操作
    guy,mistake
  • 原文地址:https://www.cnblogs.com/weiyidedaan/p/13275327.html
Copyright © 2020-2023  润新知