oao_di 2020-04-01 15:33 采纳率: 0%
浏览 1314

PTA《C语言程序设计》习题8-7 字符串排序

我在Dev C上测试样例数据,结果没问题。但在平台上测试全部提示段错误。是哪里出错了?

另外,我不会把排序写成函数。请问应该怎样定义和调用参数?

题目:

图片说明

代码:

#include<stdio.h>
#include<string.h>

void swap(char *s1, char *s2);

int main()
{
    char s[5][81];
    int i;
    for(i=0;i<5;i++)
        scanf("%s",s[i]);

    int finish=5,index=5;
    while(finish>1)
    {
        for(i=0;i+1<finish;i++)
        {
            if(strcmp(s[i],s[i+1])>0)
            {
                swap(s[i],s[i+1]);
                index=i+1;
            }
        }
        if(index<finish) finish=index;
        else finish=0;
    }

    printf("After sorted:\n");
    for(i=0;i<5;i++)
        printf("%s\n",s[i]);

    return 0;
}

void swap(char *s1, char *s2)
{
    char *temp;
    strcpy(temp,s1);
    strcpy(s1,s2);
    strcpy(s2,temp);
}
  • 写回答

2条回答 默认 最新

  • threenewbee 2020-04-02 00:31
    关注

    void swap(char *s1, char *s2)
    {
    char temp[100]; //这里
    strcpy(temp,s1);
    strcpy(s1,s2);
    strcpy(s2,temp);
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档