周南关雎如何兴句:帮我改改这C语言个程序呀

来源:百度文库 编辑:神马品牌网 时间:2024/04/25 05:26:44
这是个小学10内加减运算测试程序,他能出题和判断对错,希望能增加两个功能:
1 能根据输入的出题数量来出题
2 能根据做对题数来算分 做对题数/总题数*100
#define N 10
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#include <conio.h>
void main()
{
int x,y,z,n,temp,i=1;
char ch;
printf("欢迎进入小学生加减运算测试系统\n");
do
{
srand((int)time(0));
x=rand()%N;
y=rand()%N;
n=rand()%2;
if(y>x && n==1) /*控制减法时不会出现负数*/
{
temp=x;
x=y;
y=temp;
}
switch(n)
{
case 0:ch='+';z=x+y;break;
case 1:ch='-';z=x-y;break;
}
printf("第%d题:%d%c%d=",i,x,ch,y);
scanf("%d",&temp);
if(temp==z)
printf("恭喜您答对了!是否继续(Y/N)");
else
printf("错了,正确答案是:%d!是否继续(Y/N)",z);
ch=getche();
printf("\n");
i++;
}while(ch!='N' && ch!='n');
}

这是个小学10内加减运算测试程序,他能出题和判断对错,希望能增加两个功能:

#define N 10
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#include <conio.h>
void main()
{
int x,y,z,n,temp,i=1;
int cs,df,t=0,f=0;/*记录分数及对错的变量*/
char ch;
printf("欢迎进入小学生加减运算测试系统\n请输入出题数目:");
scanf("%d",&cs);
while(cs > 0)
{
chshi:
srand((int)time(0));
x=rand()%N;
y=rand()%N;
n=rand()%2;
if(y>x && n==1) /*控制减法时不会出现负数*/
{
temp=x;
x=y;
y=temp;
}
if((y+x>10)||(x==0)||(y==0))/*不计算大于10的数,不使用0*/
{
goto chshi;
}
switch(n)
{
case 0:ch='+';z=x+y;break;
case 1:ch='-';z=x-y;break;
}
printf("第%d题:%d%c%d=",i,x,ch,y);
scanf("%d",&temp);
if(temp==z)
t++;
else
f++;
i++;
cs--;
}
df=t*100.0/(f+t);
printf("出题总数为:%d,正确数:%d,错误数:%d,得分:%d",cs,t,f,df);
getch();
}
不知道这样行不行,程序中用到了goto虽然不见意使用,但我感觉有时候很管用:)