for(j=0;j<n-1;j++) for(i=0;i<n-j-1;i++) if(a[i]>a[i+1]) 这个什么意思??

#include<stdio.h>#include<math.h>intmain(){intn,i,j;doublea[100],k,term,sum;while(sca... #include<stdio.h>
#include<math.h>
int main(){
int n,i,j;
double a[100],k,term,sum;
while(scanf("%d",&n)!=EOF)
{
term=0;
for(i=0;i<n;i++)
{
scanf("%lf",&a[i]);
term+=a[i];
}
for(j=0;j<n-1;j++)
for(i=0;i<n-j-1;i++)
if(a[i]>a[i+1])
{
k=a[i];
a[i]=a[i+1];
a[i+1]=k;
}
sum=term-a[0]-a[n-1];
printf("%.2lf\n",sum/(n-2));
}
return 0;
}
展开
 我来答
街角哦祝福
2012-03-04 · TA获得超过535个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:388万
展开全部
排序嘛,从小到大排序,因为第i轮下来使得第i个大的已经好位置了,且其后面排好顺序了,
因此i < n-j,同时一轮可以确定一个数的位置,所以只要排序n-1次就可以了,所以j<n-1;
慧雪767
推荐于2018-04-10 · TA获得超过777个赞
知道答主
回答量:120
采纳率:0%
帮助的人:135万
展开全部
if(a[i]>a[i+1]) 是判断a数组中当前元素是否比其后面的元素大,i代表当前元素的下标。取不同值时代表不同元素。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xxy517517
2012-03-04 · 超过20用户采纳过TA的回答
知道答主
回答量:118
采纳率:0%
帮助的人:60.9万
展开全部
冒泡排序,把第一个与第二个比,大的放在第二个位置上,在把第二个与第三个比,大的放在第三个位置上,如此往下,一直选出最大的放在最后一个位置上。然后在把看第一个到倒数第二个数用上述方法比对,一直排出从最小到最大
追问
我说的是这个for(j=0;j<n-1;j++) for(i=0;i<n-j-1;i++)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谁让我揩油
2012-03-04 · TA获得超过1294个赞
知道小有建树答主
回答量:326
采纳率:0%
帮助的人:212万
展开全部
冒泡排序法 从小到大排序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水芙蓉cc
2012-03-04 · 超过17用户采纳过TA的回答
知道答主
回答量:52
采纳率:50%
帮助的人:29.7万
展开全部
这个是冒泡排序吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式