题解 | #排序#

排序

https://www.nowcoder.com/practice/508f66c6c93d4191ab25151066cb50ef

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

int main() {
    int n;
    while (scanf("%d ", &n) != EOF) { // 注意 while 处理多个 case
        char strData[n][99];
        int data[n],value=0;
        int i,j,m;
        for(i=0;i<n;i++){
            scanf("%s ",strData[i]);
        }
        //转化为整数
        for(i=0;i<n;i++){
            value=0;
            for(j=0;j<strlen(strData[i]);j++){
                value=value*10+strData[i][j]-'0';
            }
            data[i]=value;
        }

        //排序
        for(i=0;i<n-1;i++){
            for(j=0;j<n-1-i;j++){
               if(data[j]>data[j+1]){
                value=data[j+1];
                data[j+1]=data[j];
                data[j]=value;
               } 
            }
        }

        for(i=0;i<n;i++){
            printf("%d ",data[i]);
        }
        printf("\n");

    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务