讨论 / 大牛们,帮我看看哪错了?????
newHZD 2011-12-16 23:32:00
点我顶贴 收藏 删除
#include<iostream>

#include<cstdlib>

using namespace std;

const int N=7;

int n=7,m;

int comp_double(const void*a,const void *b)//两数相减,快排

{

return *(int *)a-*(int *)b;

}

void init()

{

int i,j,k,i1,i2;

int a[N],b[i],min[N],sum[N];

char max[N];

for(i=1;i<=n;i++)

{

cin>>a[i]>>b[i];

printf("\r");

}

for(i=1;i<=n;i++)

{

sum[i]=a[i]+b[i];

}

for(i=1,i1=1,i2=1;i<=n,i1<=n,i2<=n;i++,i1++,i2++)

{

if(sum[i]<=8)

{min[i1]=sum[i];

sum[i]--;}

else

{

max[i2]=sum[i];

sum[i]--;

}

}

qsort(max,n,sizeof(float),comp_double);//调用快排库函数

if(i1==7)

cout<<0;

else

{ for(i2=1;i2<=n;)

{

if(max[i2]==sum[i2])

goto c;

else

i2++;

} c:cout<<i2;

}

}

int main()

{

init();

//while(1);

return 0;

}

#1 newHZD@2010-08-08 01:47:00
回复 删除
回复 楼主newHZD 的帖子

1111

#2 zhanglin@2010-08-08 01:51:00
回复 删除
。。你想复杂了,用朴素的算法就可以过
#3 zhanglin@2010-08-08 01:51:00
回复 删除
。。你想复杂了,用朴素的算法就可以过
#4 zhanglin@2010-08-08 01:51:00
回复 删除
。。你想复杂了,用朴素的算法就可以过
#5 zhanglin@2010-08-08 01:54:00
回复 删除
for i:=1 to 7 do begin

readln(a,b);

l[i]:=a+b-8;

if l[i]>m then begin m:=l[i];z:=i;end;

end;

#6 newHZD@2010-08-08 01:59:00
回复 删除
WO SHI C BU SHI PASCL DE LA!!!
#7 zhanglin@2010-08-08 02:00:00
回复 删除
循环看的懂么

#8 zhanglin@2010-08-08 02:01:00
回复 删除
从1 到7 循环即可
#9 zhanglin@2010-08-08 02:01:00
回复 删除
从1 到7 循环即可
#10 gogogo@2010-11-06 22:44:00
回复 删除
其实这题很简单。

没那么复杂,pascal都不用写那么长。

查看更多回复
提交回复