不知哪里出现了问题?或者有木有更好的源程序?

img


#include<stdio.h>
#define random(x)(rand()%x)
int main(void)
{
char a[5][100],b[5][100];
int i,j=0,k=0,n,x,y,z;
for(i=0;i<10;i++)
{
if(i%2==0)
{
printf("Please give a noun (max 100 characters) >");
scanf("%s",a[j]);
j++;
}
else
{
printf("Please give a verb (max 100 characters) >");
scanf("%s",b[k]);
k++;
}
}
printf("How many sentences will be generated >(min 4)");
scanf("%d",&n);
printf("---Silly sentences--- \n");
for(i=0;i<n;i++)
{
z=random(4);
if(z==0)
{
x=random(5);
y=random(5);
printf("%s %s and ",a[x],b[y]);
x=random(5);
y=random(5);
printf("%s %s\n",a[x],b[y]);
}
if(z==1)
{
x=random(5);
y=random(5);
printf("If %s %s then ");
x=random(5);
y=random(5);
printf("%s %s\n",a[x],b[y]);
}
if(z==2)
{
x=random(5);
y=random(5);
printf("%s %s or ",a[x],b[y]);
x=random(5);
y=random(5);
printf("%s %s\n",a[x],b[y]);
}
if(z==3)
{
x=random(5);
y=random(5);
printf("%s %s\n",a[x],b[y]);
}
}
return 0;
}

img