有2个人轮流取2n个数中的n个数,取数之和大者为胜。请编写算法,让先取数者胜,模拟取数过程。
输出:
取数之和大者是先取哪一边的数据。(left代表先取奇标号的数据,right代表先取偶标号的数据)
我自己写的如下,但不管怎样输入,输出都为"first left"。。。求教应该怎么改:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int g,a,i,n,grade;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&grade);
{g=grade;
grade=grade+g;
}
while(i%2==2)
{
a=grade;
grade=grade+a;
}
}
if(a>g/2)
printf("first left");
if(a<g/2)
printf("first right");
system("pause");
return 0;
}
输出:
取数之和大者是先取哪一边的数据。(left代表先取奇标号的数据,right代表先取偶标号的数据)
我自己写的如下,但不管怎样输入,输出都为"first left"。。。求教应该怎么改:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int g,a,i,n,grade;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&grade);
{g=grade;
grade=grade+g;
}
while(i%2==2)
{
a=grade;
grade=grade+a;
}
}
if(a>g/2)
printf("first left");
if(a<g/2)
printf("first right");
system("pause");
return 0;
}