闻方 2021-12-07 11:55 采纳率: 60%
浏览 180
已结题

C语言冒泡排序c语言冒泡排序

#include<stdio.h>
int main()
{
int a[10], i, j, t, flag;
printf("input 10 numbers:\n");
for (i = 0; i < 10; i++)
scanf_s("%d", &a[i]);
for (i = 1; i <= 9; i++,flag=0)
{
for (j = 0; j < 10 - i; j++)
{
if (a[j] > a[j + 1])
{
t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;flag = 1;
}
}
if (flag ==0)
break;
}
printf("从小到大的数字是:\n");
for (i = 0; i < 10; i++)
printf("%d", a[i]);
printf("\n");
return 0;
}

img


这个flag 判断如果已经顺序就不再循环了 该怎么修改

  • 写回答

3条回答 默认 最新

  • -Undefined_ 2021-12-07 11:58
    关注
    获得1.15元问题酬金

    for (j = 0; j < 9 - i; j++)
    flag是不需要的,可以去掉

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 请采纳用户回复 12月8日
  • 创建了问题 12月7日