一道C语言的基础题 求大神帮助~

根据要求编写程序P815.C的指定部分:程序P815.C(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程... 根据要求编写程序P815.C的指定部分:  程序P815.C(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。  程序的功能是:从键盘上输入5个字符串(约定:每个字符串中字符数≤80字节),对其进行升序排序并输出。  程序的运行效果应类似地如图1所示,图1中的    hello    My    Friend    are you ready?    help me!  是从键盘输入的内容。

已编写部分代码如下:
#include<stdio.h>#include<string.h>
#define MAX_LINE 5#define MAX_LINE_LEN 81
/* 本部分代码功能建议:函数原型声明 *//* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多行、每行长<=50字符) */

/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void) { int i; char *pstr[MAX_LINE], str[MAX_LINE][MAX_LINE_LEN];
for (i=0; i<MAX_LINE; i++) { pstr[i] = str[i]; }
printf("Input 5 strings:\n"); for (i=0; i<MAX_LINE; i++) { gets(pstr[i]); }
sortP_Str(pstr); printf("---------------------------\n"); for (i=0; i<MAX_LINE; i++) { printf("%s\n", pstr[i]); }
return 0;}
/* User Code Begin(考生在此后完成自定义函数的设计,行数不限) */
展开
 我来答
成灵慧4d
2013-05-29 · TA获得超过189个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:192万
展开全部
#include<stdio.h>
#include<string.h>
#define MAX_LINE 5
#define MAX_LINE_LEN 81
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多行、每行长<=50字符) */
 void sortP_Str(char *pstr[]);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
     int i;
     char *pstr[MAX_LINE], str[MAX_LINE][MAX_LINE_LEN];
     for (i=0; i<MAX_LINE; i++)
     {
           pstr[i] = str[i];
      }
      printf("Input 5 strings:\n");
      for (i=0; i<MAX_LINE; i++)
      {
            gets(pstr[i]);
      }
      sortP_Str(pstr);
      printf("---------------------------\n");
      for (i=0; i<MAX_LINE; i++)
      {
           printf("%s\n", pstr[i]);
      }
     return 0;
}
/* User Code Begin(考生在此后完成自定义函数的设计,行数不限) */
void sortP_Str(char *pstr[])
{
    int i,j;
    char tmp[MAX_LINE_LEN];
    int minid;
    for(i=0;i<MAX_LINE-1;i++)//选择法排序
    {
        minid=i;
        for(j=i+1;j<MAX_LINE;j++)
        {
            if(strcmp(pstr[j],pstr[minid])<0)
            {
                minid=j;
            }
        }
        if(minid!=i)
        {
            strcpy(tmp,pstr[i]);
            strcpy(pstr[i],pstr[minid]);
            strcpy(pstr[minid],tmp);
        }
    }
}
这样子吗?
xoaxa
2013-05-29 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3430万
展开全部

/*

Input 5 strings:

hello

My

Friend

are you ready?

help me!

---------------------------

Friend

My

are you ready?

hello

help me!

Press any key to continue

*/

void sortP_Str(char *pstr[MAX_LINE_LEN]) {
int i,j,k;
char tmp[MAX_LINE_LEN];
for(i = 0; i < MAX_LINE - 1; ++i) {
k = i;
for(j = i + 1; j < MAX_LINE; ++j)
if(strcmp(pstr[k],pstr[j]) > 0)
k = j;
if(k != i) {
strcpy(tmp,pstr[k]);
strcpy(pstr[k],pstr[i]);
strcpy(pstr[i],tmp);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糖二灰
2013-05-29 · TA获得超过3940个赞
知道小有建树答主
回答量:1052
采纳率:75%
帮助的人:1048万
展开全部
void sortP_Str(char *pstr[])
{
int i=0,j=0;
char strTemp[MAX_LINE_LEN];
for(i=0;i<MAX_LINE-1;i++)
for(j=i;j<MAX_LINE-1;j++)
{
if(strcmp(pstr[j],pstr[j+1])>0)
{
strcpy(strTemp,pstr[j]);
strcpy(pstr[j],pstr[j+1]);
strcpy(pstr[j+1],strTemp);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-29
展开全部
看看是不是这个啊,那是系统写的,我看不懂 http://tieba.baidu.com/p/2357164568
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式