first commit

master
2212907042@qq.com 6 years ago
commit ee3fdf25c0

125
main.c

@ -0,0 +1,125 @@
#include <stdio.h>
struct Student
{
char cSchool[15];
char cGrade[15];
char cName[15];
};
int test();
int checknum(int a,int b);
int checkresult(int x); /*函数说明*/
int a=-1,b,c,x;
int k=0,grade; /*定义所需要的参数*/
int main()
{
struct Student student1;
printf("****预祝测试顺利****\n\n");
printf("学校:");
scanf("%s",&student1.cSchool);
printf("年级:");
scanf("%s",&student1.cGrade);
printf("姓名:");
scanf("%s",&student1.cName);
printf("\n");
printf("请回答下面十道题目\n");
do{
int i=test();
if(i==-1)
{
if(grade>=90)
printf("-------SMART");
else if(grade>=80&&grade<90)
printf("-------GOOD");
else if(grade>=70&&grade<80)
printf("-------OK");
else if(grade>=60&&grade<70)
printf("-------PASS");
else
printf("-------TRY AGAIN");
break;
}
else if(checkresult(i)==0){
a=-1;
}
}while(k);
return 0;
}
int test()
{
srand((unsigned int)time(NULL));
while(checknum(a,b)==0) /*若返回0则重新取值若返回1则完成a,b取值*/
{
a=rand()%51; /*a取值范围0~50*/
b=rand()%51; /*b取值范围0~50*/
c=rand()%2; /*c取值范围0~1*/
}
k++; /*k表示第几题*/
if(k==11)
{
printf("\n所有题目已答完,你的成绩:%d分",grade);
return -1;
}
else if(c==0)
{
printf("第%d题:%d+%d=",k,a,b);
return a+b;
}
else if(c==1)
{
printf("第%d题:%d-%d=",k,a,b);
return a-b;
}
return -1;
}
int checknum(int a,int b) /*检查相加或相减的两个数是否满足要求*/
{
if(a>50||b>50||a<0||b<0||(a+b)>50||(a-b)<0)
return 0;
else
return 1;
}
int checkresult(int result)
{
int i;
for(i=1;i<4;i++)
{
scanf("%d", &x);
if (x!=result)
{
if (i==3)
{
if (c==0){
printf("三次回答错误,正确答案是%d\n",a+b);
}
else {
printf("三次回答错误,正确答案是%d\n",a-b);
}
return 0;
}
printf("回答错误,请再次输入:");
}
else{
switch(i){
case 1:grade+=10;
break;
case 2:grade+=7;
break;
case 3:grade+=5;
break;
default:grade+=0;
break;
}
return 0;
}
}
return 0;
}
Loading…
Cancel
Save