C语言求解 输入十个学生姓名,分别用冒泡排序法和选择排序法对10个学生的姓名按升排序输出 80

学生姓名定义为:charstu[10][20]... 学生姓名定义为:char stu[10][20] 展开
 我来答
福泽佑之IN
2014-07-19 · TA获得超过2474个赞
知道小有建树答主
回答量:727
采纳率:0%
帮助的人:697万
展开全部
#include<stdio.h>
#include<string.h>
char stu[10][20];
void Bubble(void)
{
    int i, j;
    for(i = 0; i < 10; i++)
    {
        for(j = 0; j + i < 9; j++)
        {
            if(strcmp(stu[j], stu[j + 1]) > 0)
            {
                char temp[20];
                strcpy(temp, stu[j]);
                strcpy(stu[j], stu[j + 1]);
                strcpy(stu[j + 1], temp);
            }
        }
    }
    for(i = 0; i < 10; i++)
        puts(stu[i]);
    return;
}
void Selection(void)
{
    int i, j;
    for(i = 0; i < 10; i++)
    {
        int k = i;
        for(j = i + 1; j < 10; j++)
        {
            if(strcmp(stu[j], stu[k]) < 0)
                k = j;
        }
        if(k != i)
        {
            char temp[20];
            strcpy(temp, stu[i]);
            strcpy(stu[i], stu[k]);
            strcpy(stu[k], temp);
        }
    }
    for(i = 0; i < 10; i++)
        puts(stu[i]);
    return;
}
int main(void)
{
    int i;
    for(i = 0; i < 10; i++)
        scanf("%s", stu[i]);
    //Bubble();
    Selection();
    return 0;
}
/*
123
dsfs
g
erret
5
6456
546
5
567
sdfghj87
*/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式