按字母顺序排序输出

来源:互联网 发布:java中的泛型机制 编辑:程序博客网 时间:2024/05/20 20:23


#include<stdio.h>
#include<iostream>
using namespace std;

void strcpy1(char*p1, char*p2)
{
    char temp;
    temp =* p1;
    *p1 = *p2;
    *p2 = temp;
}

int main()
{
    char st[20], cs[5][20];
    int i, j, p;
    cout << "input country name:" << endl;
    for (i = 0; i < 5; i++)
        gets_s(cs[i]);
    cout << "输入完成"<<endl;
    for (i = 0; i < 5; i++)
    {
        p = i;
        strcpy_s(st, cs[i]);
        for (j = i + 1; j < 5; j++)
        {
            if (strcmp(cs[j], st) < 0)
            {
                p = j;
                strcpy_s(st, cs[j]);
            }
        }
        if (p != i)
        {
        //strcpy_s(st, cs[i]);                这个地方是重点,c++自带的strcpy函数只能实现复制功能,却不能实现指针的交换,要想让指针交换,必须

             strcpy1(cs[i], cs[p]);      //  自己定义函数,紧紧实现复制在此处并不能完成要求,因为没有指针的交互,在下一次循环的时候,这个时候已经
    //    strcmp(cs[p], st);                       输出的字符串在原来的数组中还存在,还会继续比较,所以,要把输出的字符串放到最前面,i+1后就不会再比较了。无法得到正确的结                                                                                  //  果。
        //puts(cs[i]);
        }
        puts(cs[i]);
    }

    cout << "dd" << endl;
    for (i = 0; i < 5; i++)
        cout << cs[i] << endl;
    cout << endl;
    return 0;
}




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鞋子买小了一码怎么办 运动鞋小了一码怎么办 帆布鞋小了一码怎么办 脚踝骨韧带断了怎么办 咖啡喝多了失眠怎么办 奥迪q7电瓶没电怎么办 一岁宝宝坐不稳怎么办 2岁宝宝不肯把尿怎么办 踢足球上肢和下肢不协调怎么办 ppt文字放映时重叠怎么办 月子8天腰背疼怎么办 生完五天腰背疼怎么办 生完孩子腰不好怎么办 养了个白眼狼怎么办 孩子学东西很慢怎么办 手不小心碰肿了怎么办 腿中间摩擦的疼怎么办 晚上睡觉时双腿酸胀怎么办 腿擦破皮了怎么办 快速好 宝宝腿擦破皮了怎么办 新生儿睡觉腿喜欢弯曲怎么办 孩子八个月交叉走路怎么办 胫椎引起双腿发热怎么办 婴儿头型睡扁了怎么办 膝盖抻筋了疼怎么办 小腿肚子抻筋了怎么办 后背抻筋了 很疼怎么办 运动膝盖抻着了怎么办 大腿内侧抻着了怎么办 大腿抻筋了 很疼怎么办 小腿肚子聚筋了怎么办 6个月婴儿腿弯怎么办 胳膊抻筋拉伤了怎么办 宝宝抻着了怎么办妙招 拎东西胳膊抻了怎么办 小臂一用力筋疼怎么办 摔破胳膊很痛怎么办 胳膊的筋扭伤了怎么办 小孩胳膊抻筋了怎么办 肩膀抻着了怎么办妙招 右边肩膀抻着了怎么办