C语言 加法算式 求大神给个代码!

小明养的老鼠刚刚学会加法运算,不幸的是它只能处理数字的字典序不递减的加法算式,如它能算出111+21+32,但是不能算出1+3+2+1……
请你帮它写一个程序,把所有加法算式中的加数的顺序变成它所能处理的顺序。

你知道什么是字典序吗?

输入
输入为一个非空字符串s,由数字和加号组成,长度不超过100

输出
输出一个字符串,作为答案。

例:
输入:1+1+2+3+2+1
输出:1+1+1+2+2+3
输入:2
输出:2

问题解决的话,请点下采纳

// Q1077683.cpp : Defines the entry point for the console application.
//

#include <stdio.h>

int main()
{
    int arr[101];
    char s[101];
    scanf("%s", &s[0]);
    int acc = 0;
    int n = 0;
    for (int i = 0; s[i]; i++)
    {
        if (s[i] == '+')
        {
            arr[n++] = acc;
            acc = 0;
            continue;
        }
        acc = acc * 10 + s[i] - '0';
    }
    arr[n++] = acc;
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = 0; j < n - i - 1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    for (int i = 0; i < n; i++)
    {
        if (i == 0)
            printf("%d", arr[i]);
        else 
            printf("+%d", arr[i]);
    }
    printf("\n");
    return 0;
}

图片说明

图片说明