| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1747 人关注过本帖
标题:输入5个国家的名字,要求用选择法按字母顺序由小到大输出。为什么我的结果是 ...
只看楼主 加入收藏
dream0
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-10-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
输入5个国家的名字,要求用选择法按字母顺序由小到大输出。为什么我的结果是这样
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 选择法 字母 顺序 输出 结果 
2017-10-15 13:18
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
收藏
得分:10 
strcmp函数的参数是2个字符串,你搞了2个字符进去肯定会错了

菜鸟一枚,求各位大神多多关照。
2017-10-15 13:55
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
收藏
得分:0 
你最好把你的代码贴出来,别这样贴图

菜鸟一枚,求各位大神多多关照。
2017-10-15 13:56
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
收藏
得分:10 
用2维数组
2017-10-15 14:36
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
收藏
得分:0 
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

int main (void)
{
    char c[5][100];

    char t[100];
    int i , j , k;
    printf ("Please enter five countries'name:\n");
    for (i = 0; i < 5; i++)
        scanf ("%s" , c[i]);
    for (i = 0; i < 4; i++)
    {
        k = i;
        for (j = i+1; j < 5; j++)
        {
            if (c[i][0] > c[j][0])
            {
                strcpy (t , c[i]);
                strcpy (c[i] , c[j]);
                strcpy (c[j] , t);
            }
        }

    }
    for (i = 0; i < 5; i++)
    {
        printf ("%s\n" , c[i]);
    }
   
    return 0;
}

菜鸟一枚,求各位大神多多关照。
2017-10-15 15:14
dream0
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-10-15
收藏
得分:0 
谢谢大家
2017-10-15 22:41
dream0
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-10-15
收藏
得分:0 
谢谢大家
2017-10-15 22:41
dream0
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-10-15
收藏
得分:0 
这是我后面根据建议改的程序:
#include <stdio.h>
#include <string.h>
void main()
{
    char t[100];
    char c[5][30];
    int i,j,k;
    printf("Please enter five countries' name:\n");
    for(i=0;i<5;i++)
        scanf("%s",c[i]);
    for(i=0;i<4;i++)
    {
        k=i;
        for(j=i+1;j<5;j++)
            if(strcmp(c[j],c[k])<0)
            k=j;
            if(i!=k)
            {
                strcpy(t,c[i]);
                strcpy(c[i],c[k]);
                strcpy(c[k],t);
            }
    }
    printf("5个国家的名字按由小到大排列顺序输出为:\n");
    for(i=0;i<5;i++)
        printf("%s ", c[i]);
    printf("\n");
}
2017-10-15 22:42
快速回复:输入5个国家的名字,要求用选择法按字母顺序由小到大输出。为什么我的 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045968 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved