#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个元素,而不是整个数组本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 elasticsearch
- ¥30 python ttk 获取下拉框问题
- ¥15 uniapp的uni-datetime-picker组件在ios端不适配
- ¥15 前端 uniapp App端在离线状态如何使用modbus 连接手机蓝牙进行读写操控机器?
- ¥15 SQL语句根据字段自动生成行
- ¥500 “掌声响起来”软件(不确定性人工智能)
- ¥500 我要找大模型一体机产品手册和应用案例
- ¥60 用r语言进行数据分析
- ¥20 关于游戏c++语言代码问题
- ¥15 如何制作永久二维码,最好是微信也可以扫开的。(相关搜索:管理系统)