讨论 / 我错哪了 80分
roenqkyv 2014-03-22 19:18:36
点我顶贴 收藏 删除
var

i,j,l,k,m:integer;

a:array[1..255] of integer;

begin

read(i);

for j:=1 to i do

read(a[j]);

for j:=1 to i do

l:=l+a[j];

k:=l div i;

for j:=1 to i do

begin

a[j+1]:=a[j]-k+a[j+1];

if a[j]<>k

then inc(m)

end;

write(m);

readln(m);

end.

#1 121422@2014-08-28 19:37:41
回复 删除
#include<stdio.h>

#include<malloc.h>

int n,s,j=0,q,i;

int*m;

int main()

{

scanf("%d",&n);

m=(int*)calloc(n,sizeof(int));

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

{

scanf("%d",&m[i]);

j+=m[i];

}

q=j/n;

s=0;

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

if(m[i]>q)

{

m[i+1]+=(q-m[i]);

m[i]=q;

s++;

}

else if(m[i]<q)

{

m[i]+=(q-m[i]);

m[i+1]-=(q-m[i]);

s++;

}

printf("%d",s);

while(1);

return 0;

}

这是我写的,和你的一样啊,可是只有20,帮我看看??

#2 121422@2014-08-28 19:38:31
回复 删除
#include<stdio.h>

#include<malloc.h>

int n,s,j=0,q,i;

int*m;

int main()

{

scanf("%d",&n);

m=(int*)calloc(n,sizeof(int));

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

{

scanf("%d",&m[i]);

j+=m[i];

}

q=j/n;

s=0;

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

if(m[i]>q)

{

m[i+1]+=(q-m[i]);

m[i]=q;

s++;

}

else if(m[i]<q)

{

m[i]+=(q-m[i]);

m[i+1]-=(q-m[i]);

s++;

}

printf("%d",s);

while(1);

return 0;

}

不对,这才是,上面的是你的

查看更多回复
提交回复