题解 | #图片整理#

图片整理

http://www.nowcoder.com/practice/2de4127fda5e46858aa85d254af43941

这题说白了就是排序。下面代码是使用冒泡排序算法实现如下的字母按照从小到大顺序的排列。

#include <stdio.h>
#include <string.h>
//超级冒泡
int main()
{
    char a[1025] = {0};
    scanf("%s",a);
    int len = strlen(a);
    for(int i = 0;i<len-1;i++)
    {
        for(int j = i+1;j<len;j++)
        {
            if(a[i]>a[j])
            {
                char temp = '\0';
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    }
    printf("%s\n",a);
    return 0;    
}
全部评论

相关推荐

思念SiN:你这里没有通过的主要原因应该是计算平均分数的时候,在你贴的代码的第23行: ```c b[i]=(sum-max-min)/(m-2); ``` 等式的右边实际上是两个`int`类型的变量在做除法,C语言里面得到的结果会是这个除法的整数部分,余数部分被舍弃了,也不会自动变成浮点数去做除法。所以虽然你使用了`b[i]`这个浮点数去接收结果,但是等式右边除法是先得到了一个整数,然后再被转换为浮点数再赋值给了`b[i]`。你可以按下面这样,在做除法之前,先进行类型转换,就能得到期望的结果: ```c b[i]=(float)(sum-max-min)/(float)(m-2); ```
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务