各位高手,这道题目还是运行不了!~~再帮帮忙,好吗!
求出a所指数组中最大和次最大数(规定最大数和次最大数不在a[0]和a[1]中),依次和a[0],和a[1]中的数对调
例如数组中原有的数为:7,10,12,0,3,6,9,11,5,8
输出结果为:12,11,7,0,3,6,9,10,5,8
例如数组中原有的数为:7,10,12,0,3,6,9,11,5,8
输出结果为:12,11,7,0,3,6,9,10,5,8
这是昨晚一位高手的分析:(大家再帮忙想想吧!谢谢了!)
int s[10],first,second,i;
first=2,second=1; //因为最大数不是第一个和第二个,所以我将最大数暂时指向第三个,第二大的要比第一大的小,所以指向第二。
for(i=3;i<10;i++)
if(s[i]>s[first])first=i; //如果后面的有比first还大的,就将first指向他
else if(s[i]>s[second])second=i; //如果你first小但是比second大,就暂时算第二大
i=s[0];s[0]=s[first];s[first]=i; //这里是交换数组元素
i=s[1];s[1]=s[second];s[second]=i;