
#include<stdio.h>
#include<conio.h>
void main()
{
int num=0,err=0/* 答题数,错误数 */
while(1)
{
int a=0,b=0,d=0,c=0,i=0,result
char sf[2]={'+','-'}
/* 出题 */
while(1)
{
a=rand()%51
b=rand()%51
d=rand()%2
if(d==0)c=a+b
else c=a-b
if(c>=0 &&c<=50)break
}
printf("%d %c %d = \n",a,sf[d],b)
/* 回答 */
printf("输入计算结果:\n")
while(1)
{
scanf("%d",&result)
i++
if(result==c)
{
printf("回答正确!\n")
break
}
else if(i<3)
{
printf("错误,请重新回答:\n")
}
else
{
err++
break
}
}
num++
if(num==10)break
}
printf("\n得分:%d 正确率:%d%\n",100-err*10,100-err*10)
getch()
}
参考实例源码如下://#include <stdlib.h>
#include <iostream>
using namespace std
int main()
{
int i,j,k,l=0,n
cout<<"小学数学测试"<<endl
cout<<"请选择想测试的题型:1.+ 2.- 3.* 4./:"
cin>>i
if(i==1)
{
cout<<"请输入测试题的个数:"
cin>>j
for(int k1=0k1<jk1++)
{
srand((unsigned)time(NULL))
int x1=rand()%100
int x2=rand()%100
cout<<x1<<"+"<<x2<<"=:"
cin>>k
if(k==x1+x2){
cout<<"回答正确!"<<endl
l++
}
else
cout<<"回答错误!正确答案为:"<<x1+x2<<endl
}
}
else if(i==2)
{
cout<<"请输入测试题的个数:"
cin>>j
for(int k1=0k1<jk1++)
{
srand((unsigned)time(NULL))
int x1=rand()%100
int x2=x1+rand()%50
cout<<x2<<"-"<<x1<<"=:"
cin>>k
if(k==x2-x1){
cout<<"回答正确!"<<endl
l++
}
else
cout<<"回答错误!正确答案为:"<<x2-x1<<endl
}
}
else if(i==3)
{
cout<<"请输入测试题的个数:"
cin>>j
for(int k1=0k1<jk1++)
{
srand((unsigned)time(NULL))
int x1=rand()%100
int x2=rand()%100
cout<<x1<<"*"<<x2<<"=:"
cin>>k
if(k==x1*x2){
cout<<"回答正确!"<<endl
l++
}
else
cout<<"回答错误!正确答案为:"<<x1*x2<<endl
}
}
else if(i==4)
{
cout<<"请输入测试题的个数:"
cin>>j
for(int k1=0k1<jk1++)
{
srand((unsigned)time(NULL))
int x1=rand()%100+1
int x2=x1*(rand()%10)
cout<<x2<<"/"<<x1<<"=:"
cin>>k
if(k==x2/x1){
cout<<"回答正确!"<<endl
l++
}
else
cout<<"回答错误!正确答案为:"<<x2/x1<<endl
}
}
cout<<"这次测试你作对的题目的个数为"<<l<<"个"<<endl
cout<<"是否继续测试:0.退出 1.继续:"
cin>>n
if(n==1){
return main()}
//system("PAUSE")
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)