NPC一H 2017-02-25 04:37 采纳率: 76.9%
浏览 737

这2个C语言代码的区别在哪里,不太懂能解释详细一点吗?

#include"stdio.h"
int main(){
int n,i,t,tt,j,x=0,s=0;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(t=0;t<n-1;t++){
for(i=1;i<n;i++){//给数组从小到大排序 (插入法)
tt=a[i];
for(j=i;tt<a[j-1];j--){
a[j]=a[j-1];
}
a[j]=tt;
}
}
s+=a[x]+a[x+1];//s为最小两位之和
a[x+1]+=a[x];//第二小的位置上存放最小两数之和
a[x]=0;// 最小一位清零
x++;
printf("%d",s);
return 0;
}

#include"stdio.h"
int main(){
int n,i,t,tt,j,x=0,s=0;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(t=0;t<n-1;t++){
for(i=1;i<n;i++){//给数组从小到大排序 (插入法)
tt=a[i];
for(j=i;tt<a[j-1];j--){
a[j]=a[j-1];
}
a[j]=tt;
}
s+=a[x]+a[x+1];//s为最小两位之和
a[x+1]+=a[x];//第二小的位置上存放最小两数之和
a[x]=0;// 最小一位清零
x++;
}
printf("%d",s);
return 0;
}

  • 写回答

3条回答 默认 最新

  • threenewbee 2017-02-25 07:04
    关注

    指出大段代码中的不同是你的事情,为什么不同是你可以问的。第一个问题你应该去找文本比较工具(比如windiff)自己去比,而不是浪费答题人的时间。

    评论

报告相同问题?