永发信息网

求代码注解。然后程序还有一个错误

答案:1  悬赏:0  手机版
解决时间 2021-05-16 15:54
  • 提问者网友:雾里闻花香
  • 2021-05-15 16:07

#include "stdafx.h"

#include <stdio.h>

 

int main(int argc, char* argv[])

{

printf("请输入3个整数:");

   int a[3];

int i,j,temp;

 

for(i=0;i<3;i++)

{

scanf("%d",&a[i]);

}

for(i=1;i<3;i++)

{

for(j=0;j<3-i;j++)

{

if(a[j]<a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

for(i=0;i<4;i++)

{

printf("%d ",a[i]);

}

   return 0;

}

 

最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-05-15 17:12

典型的一个排序算法


下面这段是初始化,输入三个数


for(i=0;i<3;i++)


{


scanf("%d",&a[i]);


}


这段是说 如果前面的数比后面小,则交换,结果就是大数在前面,下数在后面


for(i=1;i<3;i++)


{


for(j=0;j<3-i;j++)


{


if(a[j]<a[j+1])


{


temp=a[j];


a[j]=a[j+1];


a[j+1]=temp;


}


}


}


这段是将排序完的结果输出,这里有问题,因为只有三个数,却循环了四个,应该改成i<3


for(i=0;i<4;i++)


{


printf("%d ",a[i]);


}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯