C 为什么选择排序不起作用? #包括 main() { int-arr[5]={44,33,55,22,11}; int i,j; 对于(i=0;i
去掉C 为什么选择排序不起作用? #包括 main() { int-arr[5]={44,33,55,22,11}; int i,j; 对于(i=0;i,c,C,去掉if语句末尾的;。交换每次都通过循环进行,因为它不再是有条件的。您已经实现了非常昂贵的“reverse”版本。在if循环:D之后删除分号 #include <stdio.h> main() { int arr[5]={44,33,55,22,11}; int i,j; for (i=0;i<=4;i++) { for (j=i+1;j<=4;j++) { if (arr[i]>
if
语句末尾的;
。交换每次都通过循环进行,因为它不再是有条件的。您已经实现了非常昂贵的“reverse”版本。在if
循环:D之后删除分号
#include <stdio.h>
main()
{
int arr[5]={44,33,55,22,11};
int i,j;
for (i=0;i<=4;i++)
{
for (j=i+1;j<=4;j++)
{
if (arr[i]>arr[j]);
{
int k;
k=arr[i];
arr[i]=arr[j];
arr[j]=k;
}
}
}
for (i=0;i<=4;i++)
printf(" %d", arr[i]);
}
#包括
int main(){
int-arr[5]={44,33,55,22,11};
int i,j;
对于(i=0;我知道你是否尝试过使用调试器单步执行代码?试试吧——这很简单,也很有趣!在你的程序员生涯的剩余时间里,是否计划在每次出现意外输出时将程序发布到StackOverflow?你应该问的问题是,在程序中发现错误的好技术是什么?而不是错误在哪里此程序?您应该学习的第一项技术是打开所有编译器警告并修复您的程序,使其始终在没有警告的情况下编译。对于这一“偶然”错误,如果您允许,大多数编译器将准确地告诉您的错误在哪里。
if (arr[i]>arr[j]);
#include <stdio.h>
int main(){
int arr[5]={44,33,55,22,11};
int i,j;
for (i=0;i<4;i++){
for (j=i+1;j<=4;j++){
if (arr[i]>arr[j]){
int k;
k=arr[i];
arr[i]=arr[j];
arr[j]=k;
}
}
}
for (i=0;i<=4;i++)
printf(" %d", arr[i]);
return 0;
}