汪聘 2015-12-24 08:42 采纳率: 0%
浏览 1548

华为机试vs2008测试没问题,,可是提交上去就编译错误,,有人知道原因么?

#include
#include
#define M 1024

int main(){
char str[M];
int length;
gets(str);
length=strlen(str);

//快速排序
for (int i = 1;i<length;i++){
    int j=i-1;
    char temp = str[i];
    if(temp<str[j]){
        for (j;j >= 0 && str[j]>temp; j--){
            str[j + 1] = str[j];
        }
        str[j + 1]=temp;
    }
}
for(int i = 0;i<length;i++){
    printf("%c", str[i]);
}
return 1;

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-12-24 15:28
    关注
     是C还是C++。C里面for (int i = 1;i<length;i++)需要写int i;for (i = 1;i<length;i++)
    

    另外你这个不是快速排序,是选择排序。

    评论

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制