江风与火 2022-01-16 16:57 采纳率: 50%
浏览 10

[编程入门]三个字符串的排序,可以通过样例,但是显示运行错误。

问题遇到的现象和发生背景

题目描述
输入三个字符串,按由小到大的顺序输出
输入
3行字符串
输出
按照从小到大输出成3行
样例输入
cde
afg
abc
样例输出
abc
afg
cde

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    char sta[10];
    char stb[10];
    char stc[10];
    scanf("%s %s %s", &sta, &stb, &stc);
    char* a = &sta;
    char* b = &stb;
    char* c = &stc;
    if (strcmp(a, b) == 1)
    {
        char* temp;
        temp = a;
        a = b;
        b = temp;
    }
    if (strcmp(a, c) == 1)
    {
        char* temp;
        temp = a;
        a = c;
        c = temp;
    }
    if (strcmp(b, c) == 1)
    {
        char* temp;
        temp = b;
        b = c;
        c = temp;
    }
    printf("%s\n%s\n%s", a, b, c);
    return 0;
}

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-01-16 17:14
    关注
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char sta[10];
        char stb[10];
        char stc[10];
        scanf("%s%s%s", sta, stb, stc);
        char *a = sta;
        char *b = stb;
        char *c = stc;
        if (strcmp(a, b) > 0)
        {
            char *temp;
            temp = a;
            a = b;
            b = temp;
        }
        if (strcmp(a, c) > 0)
        {
            char *temp;
            temp = a;
            a = c;
            c = temp;
        }
        if (strcmp(b, c) > 0)
        {
            char *temp;
            temp = b;
            b = c;
            c = temp;
        }
        printf("%s\n%s\n%s", a, b, c);
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月16日

悬赏问题

  • ¥15 在centos7安装conda
  • ¥15 c#调用yolo3 dll文件获取的数据对不上
  • ¥20 WPF 如何实现多语言,label 和cs(live Charts)中是否都能翻译
  • ¥15 STM32F103上电短路问题
  • ¥15 关于#单片机#的问题:以ATMEGA128或相近型号单片机为控制器设计直流电机调速的闭环控制系统(相关搜索:设计报告|软件设计|流程图)
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计