编写C语言程序"输入十个城市的名字,分别按照城市的字母和长度进行排序.使用2个子函数"

如题,急!!!!要求为“输入十个城市名字,按客户要求选择按照字母或长度进行排序,使用两个子函数”... 如题,急!!!!
要求为“输入十个城市名字,按客户要求选择按照字母或长度进行排序,使用两个子函数”
展开
 我来答
廖今6Y
2013-05-09 · TA获得超过164个赞
知道答主
回答量:71
采纳率:0%
帮助的人:30.2万
展开全部

写了个,反正运行有结果,你自己修改修改吧


#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define MAX_BUF 255


struct city

{

    char name[MAX_BUF];

    int length;

};

typedef struct city CITY;

void ShowCity(CITY *pcity,int n);

void  CityLength(CITY *pcity,int n);

int main()

{   

    int i;

    CITY city[10];


    for(i=0;i<10;i++)

    {

        printf("please %i input then city names:\n",i+1);

        gets(&city[i].name);

        city[i].length=strlen(city[i].name);

    }

    ShowCity(city,10);

    CityLength(city,10);

    ShowCity(city,10);

    system("pause");

return 0;

}

void ShowCity(CITY *pcity,int n)

{

  int i;

 for (i=0;i<n;i++)

 {

    printf("the %i city name is %s\n",i+1,(pcity+i)->name); 


 }

  return;

}


void  CityLength(CITY *pcity,int n)

{

    int i=0;

    int j=0;

    CITY temp;

    for(i=0;i<n-1;i++)

    {

        for(j=0;j<n-1-i;j++)

        if((pcity+j)->length<(pcity+j+1)->length)

        {

             strncpy(&temp.name,(pcity+j)->name,MAX_BUF);

             temp.length=(pcity+j)->length;

             (pcity+j)->length=(pcity+j+1)->length;

             strncpy((pcity+j)->name,(pcity+j+1)->name,MAX_BUF);

              (pcity+j+1)->length=temp.length;

             strncpy((pcity+j+1)->name,&temp.name,MAX_BUF);



        }

    }

    return;

}

黑大帅和ddd
推荐于2018-04-11 · TA获得超过1755个赞
知道小有建树答主
回答量:618
采纳率:0%
帮助的人:422万
展开全部
表意不清,况且你不是为了学习,是为了任务的,为你的任务花那么大精力不值。
追问
= =没办法  不会做 下午就要交了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaopin2013
2013-05-09
知道答主
回答量:1
采纳率:0%
帮助的人:1495
展开全部
你是华侨大学的么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式