c语言程序改错
#include<stdio.h>
int main(){
int n,i,temp;
scanf("%d",&n);
double min,max,a[n];
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
min=max=a[0];
for(i=1;i<n;i++)
if(min>a[i]){
a[i]=temp;
a[i]=min;
min=temp;
}
for(i=1;i<n;i++)
if(max<a[i]) {
a[i]=temp;
a[i]=max;
max=temp;
}
printf("%.2f",max-min);
}
我的意思是 输入n个数 然后第一个for搞到最小值 第二个for搞到最大值 求他们的差值。。为啥这个会错呀
你求一个数组的最大/小值,是不用交换数据的,你的程序,在求最小值时改变了原数据(你用了交换),当然要出错了
if(min>a[i]){
//a[i]=temp; //这两行画蛇添足了
// a[i]=min;
min=temp;
}
下面的同理
这个没有错啊
下一篇:编程师和网络工程师谁老大
上一篇:编程和P图,先学哪个好些?
热门标签: