帮我看一下
这个程序的要求是:输入50个10以内的加法,输入答案,第一次输对得2分,第二次输对得1分。第三次就没分了。
我自己编的两个分别程序是;;
#include <math.h>
int cs()
{ int x,y;
x=rand();
y=x%10;
if(y<0)
y=y+11;
return y;
}
main()
{int m[50],n[50],a[50],b[50],d[50];
int i,t,sum=0;
for(i=1;i<50;i++)
{ t=0;
m[i]=cs();
n[i]=cs();
d[i]=m[i]+n[i];
printf("(%d)%d+%d= ",i,m[i],n[i]);
scanf("%d ",&a[i]);
if(a[i]==d[i])
t=2;
else
printf("wrong! please incrocct");
scanf("%d ",&b[i]);
if(b[i]==d[i])
t=1;
else
t=0;
printf("df=%d\n",t);
sum=sum+t;
}
printf("\n zuihuo defen=%d\n",sum);
clrscr();
}
第二个是:
#include<math.h>
int cs()
{ int x,y;
x=rand();
y=x%10;
if(y<0)
y=y+11;
return y;
}
main()
{ int m[50],n[50],d[50],a[50],b[50],c[50];
int i,j,s=0,z;
for(i=10;i<50;i++)
{m[i]=cs();
n[i]=cs();
d[i]=m[i]+n[i];
}
printf("%d+%d= ",a,b);
for(i=0;i<50;i++)
scanf("%d",&a[i]);
for (i=0;i<50;i++)
if (a[i]==d[i])
s=s+2;
printf("\n df=%d\n",s);
if (s<100)
{ z=(100-s)/2;
for(i=0;i<50;i++)
{if(a[i]!=d[i])
for(j=0;j<z;j++)
c[j]=d[i];
printf("%d+%d= ",m[i],n[i]);
}
}
printf("\n%d gecuowu\n please incorrect\n",z);
for(i=0;i<z;i++)
{ scanf("%d",&c[i]);
if(c[i]==b[i])
s=s+1;
}
printf("zuihou df=%d",s);
}
第二个程序还能运行
第一个运行不正常!!!
高手们!!帮我我!!看我错哪了!!