#include<stdio.h>
int main()
{
double a[N]={3.14,4.28,6.57,7.00,1,2.32,8.97,9.66};
int temp,i,j;
printf("排序前结果为:%1.2f\n",a[N]);
for (i=0;i<N-1;i++)
for (j=0;j<N-i-1;j++)
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
printf("排序后结果为:");
for(i=0;i<N;i++)
printf("%1.2f",a[i]);
}
求帮看看这个冒泡程序怎么改,执行结果不对😭😭
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
快乐鹦鹉 2021-10-15 21:55关注N没有定义。估计不是8。如果N大于8,那么你要重新定义一个变量=8,然后用这个变量替代所有for循环中的N
你定义了一个较大的数组,但实际数组只有8个元素。你循环的时候只能针对这8个元素,而不是整个数组本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报