#include #include #include //产生随机数的库函数 #include //关于界面背景颜色,字体颜色的库函数 int main(void) { system(" color B4 "); //界面背景颜色,字体颜色核心 printf("*☆☆☆☆☆☆☆小学数学测试软件☆☆☆☆☆☆☆☆☆*\n") ; printf(" 小学生测验正式开始\n"); int i,j,M=2,A,B,WE=0,C,SCORE=0,D,te,y; char X[2]={'+','-'}; srand(( int )time( 0 )); //得到不同的随机数;time(0)表示秒数不进行存储 for(i=1 ; i<=10 ; i++) //产生十道例题;程序核心 { D=rand()%2; //取随机数 A=rand()%50; //产生一个0-50的随机int数 B=rand()*50/32767; //与上一行的两种不同表达形式 if( D == 0 ) { WE = A+B;} else { WE = A-B;} if( WE >= 0 && WE <= 50 ) //保证例题难度,在小学生能力范围之内 { j=2; M=1; printf("\n第(%d)道题目\n",i); //视觉界面排序;显示核心 printf("%8d\n",A); printf(" %c\n",X[D]); printf("%8d\n",B); printf("===========\n"); printf("请输入正确答案 "); //类似于智能对话框 scanf("%d",&C); if( WE == C ) { y=1; printf("\n结果:你输入的答案正确! \n\n"); //共有三次输入机会 if(y=1) { printf("**********************************************************************************************************\n"); printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n\n"); } //第一次机会 SCORE+=10; //总共十道题每题十分;第一次输入正确答案得10分 //将得到的分数进行累加 } else { while( j <= 3 ) { printf("\n答案错误,请重新输入:\n"); printf("加油come on,你能行的(@>-<@)\n"); //鼓励的话语,表情符,不用管 scanf("%d",&C); if( WE== C ) { printf("\n结果:你输入的答案正确!\n \n\n"); M++; if ( M == 2 ) //第二次机会 { SCORE+=7;} //第二次输入正确答案得7分 else if( M == 3 ) //第三次机会 { SCORE+=5;} //第三次输入正确答案得5分 break; //结束本次循环 } else //记录循环进行次数 { M++;} j++; } if( j > 3 ) { printf("\n该题正确答案为:%d\n",WE); //输出最终正确答案 printf("**********************************************************************************************************\n"); printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n\n"); } } } else i--; } if( SCORE >= 90 ) //对小学生的评价和鼓励; printf("SMAR YOU ARE SO CLEAR\n"); //分别对不同分数段进行不同话语鼓励 if( 80 <= SCORE || SCORE < 90 ) printf("EXCELLENT COME ON\n"); if( 60 <= SCORE || SCORE < 80 ) printf("YOU SHOULD MAKE GREAT EFFORTS\n"); if( SCORE <= 60 ) printf("FAIL AN EXAM\n"); //总成绩90以上显示"SMART" printf("\n总共%d道题目,你的总分为%d\n \n",i-1,SCORE); // 输出总例题数和总分数 }