#include<stdio.h>
#include<time.h>
#include<stdlib.h>
struct Apple
{
int attribute=0;
int flag=1;
};
int random()
{
int num;
srand((unsigned)time(NULL));
num=rand()%12;
return num;
}
void create_apple(struct Apple app1)
{
if(random()%2==1)
app1[random()].attribute=1;
else
app1[random()].attribute=-1;
printf("苹果的标号为1-12");
for(int i=1;i<=12;i++)
printf("%d ",i);
printf("\n");
printf("这12个苹果的属性分别为\n");
for(int i=1;i<=12;i++)
printf("%d ",app1[i].attribute);
printf("属性为0则说明苹果正常\n属性为-1则说明毒苹果较轻\n属性为1则说明毒苹果较重\n");
}
void set_apple(struct Apple app1)
{
int potion1,potion2,potion3;
int heap1=app1[9].attritute+app1[10].attritute+app1[11].attritute+app1[1].attritute;
int heap2=app1[2].attritute+app1[3].attritute+app1[5].attritute+app1[6].attritute;
for(int i=1;i<=4;i++)
potion1+=app1[i].attritute;
for(int i=5;i<=8;i++)
potion2+=app1[i].attritute;
for(int i=9;i<=12;i++)
potion3+=app1[i].attritute;
if(potion1==potion2)
{ printf("毒苹果在9,10,11,12中");
if(app1[9].attritute==app1[10].attritute)
{
printf("毒苹果在9,10中");
if (apple[11].state == apple[1].state)
apple[12].flag = 0;
else
apple[11].flag = 0;}
else {
if (apple[9].state == apple[1].state)
apple[10].flag = 0;
else
apple[9].flag = 0;
}
}
if (potion1>potion2)
{
if (heap1== heap2)
{
if (app1[7].attritute==app1[8].attritute)
app1[4].flag=0;
else {
if (app1[7].attritute<app1[8].attritute)
app1[7].flag=0;
else
app1[8].flag=0;
}
}
if (heap1>heap2)
{
if (app1[5].attritute==app1[6].attritute)
app1[1].flag=0;
else
{
if (app1[5].attritute<app1[6].attritute)
app1[5].flag=0;
else
app1[6].flag=0;
}
}
if (heap1<heap2)
{
if (app1[2].attritute>app1[3].attritute)
app1[2].flag=0;
else
app1[3].flag=0;
}
}
if (potion1<potion2)
{
if (heap1== heap2)
{
if (app1[7].attritute==app1[8].attritute)
app1[4].flag=0;
else {
if (app1[7].attritute>app1[8].attritute)
app1[7].flag=0;
else
app1[8].flag=0;
}
}
if (heap1>heap2)
{
if (app1[2].attritute==app1[9].attritute)
app1[3].flag=0;
else
app1[2].flag=0;
}
if (heap1<heap2)
{
if (app1[5].attritute=app1[6].attritute)
app1[1].flag=0;
else
if(app1[5].attritute==app1[9].attritute)
app1[6].flag=0;
else
app1[5].flag=0;
}
}
}int main()
{
int i=1;
struct Apple app1[20];
random();
create_apple(app1);
set_apple(app1);
while(app1[i].flag==0)
{
i++;
}
printf("有毒的是第%d个苹果",i);
}
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
typedef struct Apple
{
int attribute;//这里不能赋初始值
int flag;
}Apple;
int random()
{
int num;
srand((unsigned)time(NULL));
num=rand()%12;
return num;
}
void create_apple(struct Apple*app1)
{
if(random()%2==1)
app1[random()].attribute=1;
else
app1[random()].attribute=-1;
printf("苹果的标号为1-12");
for(int i=1;i<=12;i++)
printf("%d ",i);
printf("\n");
printf("这12个苹果的属性分别为\n");
for(int i=1;i<=12;i++)
printf("%d ",app1[i].attribute);
printf("属性为0则说明苹果正常\n属性为-1则说明毒苹果较轻\n属性为1则说明毒苹果较重\n");
}
void set_apple(struct Apple* app1)
{
int potion1,potion2,potion3;
int heap1=app1[9].attribute+app1[10].attribute+app1[11].attribute+app1[1].attribute;//属性写错attribute
int heap2=app1[2].attribute+app1[3].attribute+app1[5].attribute+app1[6].attribute;
for(int i=1;i<=4;i++)
potion1+=app1[i].attribute;
for(int i=5;i<=8;i++)
potion2+=app1[i].attribute;
for(int i=9;i<=12;i++)
potion3+=app1[i].attribute;
if(potion1==potion2)
{ printf("毒苹果在9,10,11,12中");
if(app1[9].attribute==app1[10].attribute)
{
printf("毒苹果在9,10中");
if (app1[11].flag == app1[1].flag)//apple 没有state属性
app1[12].flag = 0;
else
app1[11].flag = 0;}
else {
if (app1[9].flag == app1[1].flag)
app1[10].flag = 0;
else
app1[9].flag = 0;
}
}
if (potion1>potion2)
{
if (heap1== heap2)
{
if (app1[7].attribute==app1[8].attribute)
app1[4].flag=0;
else {
if (app1[7].attribute<app1[8].attribute)
app1[7].flag=0;
else
app1[8].flag=0;
}
}
if (heap1>heap2)
{
if (app1[5].attribute==app1[6].attribute)
app1[1].flag=0;
else
{
if (app1[5].attribute<app1[6].attribute)
app1[5].flag=0;
else
app1[6].flag=0;
}
}
if (heap1<heap2)
{
if (app1[2].attribute>app1[3].attribute)
app1[2].flag=0;
else
app1[3].flag=0;
}
}
if (potion1<potion2)
{
if (heap1== heap2)
{
if (app1[7].attribute==app1[8].attribute)
app1[4].flag=0;
else {
if (app1[7].attribute>app1[8].attribute)
app1[7].flag=0;
else
app1[8].flag=0;
}
}
if (heap1>heap2)
{
if (app1[2].attribute==app1[9].attribute)
app1[3].flag=0;
else
app1[2].flag=0;
}
if (heap1<heap2)
{
if (app1[5].attribute=app1[6].attribute)
app1[1].flag=0;
else
if(app1[5].attribute==app1[9].attribute)
app1[6].flag=0;
else
app1[5].flag=0;
}
}
}int main()
{
int i=1;
struct Apple app1[20];
for(int i=0;i<20;i++) app1[i].attribute=0,app1[i].flag=1;
random();
create_apple(app1);
set_apple(app1);
while(app1[i].flag==0)
{
i++;
}
printf("有毒的是第%d个苹果",i);
system("pause");
}
attribute这个单词写对了?老弟