You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include<stdlib.h>
#include<stdio.h>
#include<time.h> //产生随机数的库函数
#include<windows.h> //关于界面背景颜色,字体颜色的库函数
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); // 输出总例题数和总分数
}