- 論壇徽章:
- 0
|
哈哈。編好了。不知道思路是否正確,錯就一定有的。
剛學編程兩個月,不知道思路是否正確,錯就一定有的。
#include"stdio.h"
com(int a[2000],int n)
{int i,j,p,q,s;
for(i=0;i<2*n-1;i++)
{
a[0]=q,p=i;
for(j=i+1;j<2*n;j++)
if(a[j]>q)
{q=a[j];p=j;}
if(i!=p)
{a=s;
s=a[p];
a[p]=a;
}
return(a[2*n-1);
}
for(i
main()
int a[1000],b[1000],c[2000],n,j,k,p,q;
printf("input two same struct array and same long\n");
scanf("%d",&n);
printf("input first struct array");
for(i=0;i<n;i++)
scanf(%d",a);
printf("input secend struct array");
for(i=0;i<n;i++)
scanf(%d",b);
for(i=0;i<n;i++)
c=a;
for(i=0;i<n;i++)
c[n+i+1]=b;/*結合兩組數據*/
c[n+i+1]=[com(c[n+i+1],n);/*并排列大小*/
for(i=0;i<n;i++)
{a=0;
b=0;}/*清0*/
a[0]=c[0];
b[0]=c[1];
s=1;
t=1;
p=0;
q=0;
for(i=2;i<2*n-1;i++)
{
if(s==n-1)\*判斷是否已經分好了一個數組*\
{for(i=n+t-1;i<2*n-1;i++,t++)
b[t]=c[n+t-1];
break;}
if(t==n-1)\*判斷是否已經分好了另一個數組*\
{for(i=n+s-1;i<2*n-1;i++,s++)
b=c[n+s-1];
break;}
for(j=0;j<s;j++)
p+=a[j];\*求數組a[j]的值*\
for(j=0;j<t;j++)\*求數組a[j]的值*\
q+=b[j];
if(p>q)\*判斷已經分好的數組大小,并分配下一數值到較少的數組*\
{c=b[t];
t++;}
else{c=a
s++;}
}
for(i=0;i<n;i++)
printf("a=%d ",a);
printf("\n");
for(i=0;i<n;i++)
printf("b=%d ",b);
getch();
}
[ 本帖最后由 hithotwinds 于 2006-11-13 10:25 編輯 ] |
|