user-0 提问: 无法运行

回复:
user: user-0
content: 引用 7 楼 自信男孩的回复:[quote=引用 4 楼 佛系咸鱼en 的回复:][quote=引用 3 楼 自信男孩的回复:]#include<stdio.h> int main() {     int a, b, c;     int s[100], p[100], q[100];      scanf_s("%d %d %d", &a, &b, &c);     if (a > 100)         a = 100;      for (int i = 0; i < a; i++)     {         scanf_s("%d", &s[i]);     }     int max1;     for (int i = 0; i < a; i++)     {         max1 = i;         //for (int t = i; t < a - i&&i+1<a; t++)         for (int t = i; t < a; t++)         {             if (s[max1] <= s[t])                 max1 = t;          }         if (max1 != i) {             int tmp = s[i];             s[i] = s[max1];             s[max1] = tmp;         }     }     for (int i = 0; i < a; i++)     {         printf("%d", s[i]);     }     return 0; } 供参考～ 其实我想解决的并不是代码的问题，我自己的这个就写了出来也没运行，肯定会有问题，我想解决的是编译器报错的问题，当然也非常感谢你的解答。[/quote] 用我的版本还会报错吗？[/quote] 还是一样的报错，感觉是我的编译器出了问题，我卸了重安一下

user: user-0
content: 引用 7 楼 自信男孩的回复:[quote=引用 4 楼 佛系咸鱼en 的回复:][quote=引用 3 楼 自信男孩的回复:]#include<stdio.h> int main() {     int a, b, c;     int s[100], p[100], q[100];      scanf_s("%d %d %d", &a, &b, &c);     if (a > 100)         a = 100;      for (int i = 0; i < a; i++)     {         scanf_s("%d", &s[i]);     }     int max1;     for (int i = 0; i < a; i++)     {         max1 = i;         //for (int t = i; t < a - i&&i+1<a; t++)         for (int t = i; t < a; t++)         {             if (s[max1] <= s[t])                 max1 = t;          }         if (max1 != i) {             int tmp = s[i];             s[i] = s[max1];             s[max1] = tmp;         }     }     for (int i = 0; i < a; i++)     {         printf("%d", s[i]);     }     return 0; } 供参考～ 其实我想解决的并不是代码的问题，我自己的这个就写了出来也没运行，肯定会有问题，我想解决的是编译器报错的问题，当然也非常感谢你的解答。[/quote] 用我的版本还会报错吗？[/quote] 我还没运行，待会我试一下

user: user-0
content: 引用 5 楼 Army_Adviser_的回复:目测是你代码错误导致的   if (s[i] <= s[i + 1])                 max1= s[i + 1];             s[i + 1] = s[i];             s[i] = max1; 这段少了括号把？  这样不会进入死循环吗？ if (s[i] <= s[i + 1]){                 max1= s[i + 1];             s[i + 1] = s[i];             s[i] = max1; }应该这样吧。。。  可以试一下 确实，我再改一下

user: user-1
content: 引用 4 楼 佛系咸鱼en 的回复:[quote=引用 3 楼 自信男孩的回复:]#include<stdio.h> int main() {     int a, b, c;     int s[100], p[100], q[100];      scanf_s("%d %d %d", &a, &b, &c);     if (a > 100)         a = 100;      for (int i = 0; i < a; i++)     {         scanf_s("%d", &s[i]);     }     int max1;     for (int i = 0; i < a; i++)     {         max1 = i;         //for (int t = i; t < a - i&&i+1<a; t++)         for (int t = i; t < a; t++)         {             if (s[max1] <= s[t])                 max1 = t;          }         if (max1 != i) {             int tmp = s[i];             s[i] = s[max1];             s[max1] = tmp;         }     }     for (int i = 0; i < a; i++)     {         printf("%d", s[i]);     }     return 0; } 供参考～ 其实我想解决的并不是代码的问题，我自己的这个就写了出来也没运行，肯定会有问题，我想解决的是编译器报错的问题，当然也非常感谢你的解答。[/quote] 用我的版本还会报错吗？

user: user-2
content: 不建议在中文目录,这是用的默认项目目录?

user: user-3
content: 目测是你代码错误导致的   if (s[i] <= s[i + 1])                 max1= s[i + 1];             s[i + 1] = s[i];             s[i] = max1; 这段少了括号把？  这样不会进入死循环吗？ if (s[i] <= s[i + 1]){                 max1= s[i + 1];             s[i + 1] = s[i];             s[i] = max1; }应该这样吧。。。  可以试一下

user: user-0
content: 引用 3 楼 自信男孩的回复:#include<stdio.h> int main() {     int a, b, c;     int s[100], p[100], q[100];      scanf_s("%d %d %d", &a, &b, &c);     if (a > 100)         a = 100;      for (int i = 0; i < a; i++)     {         scanf_s("%d", &s[i]);     }     int max1;     for (int i = 0; i < a; i++)     {         max1 = i;         //for (int t = i; t < a - i&&i+1<a; t++)         for (int t = i; t < a; t++)         {             if (s[max1] <= s[t])                 max1 = t;          }         if (max1 != i) {             int tmp = s[i];             s[i] = s[max1];             s[max1] = tmp;         }     }     for (int i = 0; i < a; i++)     {         printf("%d", s[i]);     }     return 0; } 供参考～ 其实我想解决的并不是代码的问题，我自己的这个就写了出来也没运行，肯定会有问题，我想解决的是编译器报错的问题，当然也非常感谢你的解答。

user: user-1
content: #include<stdio.h> int main() {     int a, b, c;     int s[100], p[100], q[100];      scanf_s("%d %d %d", &a, &b, &c);     if (a > 100)         a = 100;      for (int i = 0; i < a; i++)     {         scanf_s("%d", &s[i]);     }     int max1;     for (int i = 0; i < a; i++)     {         max1 = i;         //for (int t = i; t < a - i&&i+1<a; t++)         for (int t = i; t < a; t++)         {             if (s[max1] <= s[t])                 max1 = t;          }         if (max1 != i) {             int tmp = s[i];             s[i] = s[max1];             s[max1] = tmp;         }     }     for (int i = 0; i < a; i++)     {         printf("%d", s[i]);     }     return 0; } 供参考～

user: user-0
content: 引用 1 楼 自信男孩的回复:楼主要实现什么？并且楼主的i在两个循环里，并且第二层循环还在第一层循环里。  #include<stdio.h> int main() {     int a, b, c;     int s[100], p[100], q[100];      scanf_s("%d %d %d", &a, &b, &c);     if (a > 100)         a = 100;      for (int i = 0; i < a; i++)     {         scanf_s("%d", &s[i]);     }     int max1 = s[0];     for (int i = 0; i < a; i++)     {         for (int t = 0; t < a - i&&i+1<a; t++)         {             if (s[i] <= s[i + 1])                 max1= s[i + 1];             s[i + 1] = s[i];             s[i] = max1;         }     }     for (int i = 0; i < a; i++)     {         printf("%d", s[i]);     }     return 0; } 供参考～ 目的是实现由大到小排序

user: user-1
content: 楼主要实现什么？并且楼主的i在两个循环里，并且第二层循环还在第一层循环里。  #include<stdio.h> int main() {     int a, b, c;     int s[100], p[100], q[100];      scanf_s("%d %d %d", &a, &b, &c);     if (a > 100)         a = 100;      for (int i = 0; i < a; i++)     {         scanf_s("%d", &s[i]);     }     int max1 = s[0];     for (int i = 0; i < a; i++)     {         for (int t = 0; t < a - i&&i+1<a; t++)         {             if (s[i] <= s[i + 1])                 max1= s[i + 1];             s[i + 1] = s[i];             s[i] = max1;         }     }     for (int i = 0; i < a; i++)     {         printf("%d", s[i]);     }     return 0; } 供参考～