blockdb 16 dup(?)
averagedb 0
data ends
code segment
start:mov ax,data
mov ds,ax
xor ax,ax
lea si,block
mov cx,16
_Add: mov bl,[si]
add al,bl
adc ah,0
inc si
loop_Add
div ax,16
mov average,al
mov ax,4c00h
int 21h
code ends
end start
你笑薯好,建议使用他们的软件进行code的编写,
毕竟你是要考试,考试的碰数者软件和他们提供的毕森是一模一样的。
记得在考二级的时候不执行编译链接步骤好像也没有分。
编译器是不会影响结果的,
祝你生活愉快。
1L的哥们竟然没有分数也没有读写文件记录,我在他的基础上加了这个功能,采纳衫没闹谁都可以哦~#include <stdio.h>
#include <ctype.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
#define IDNO_LENGTH 6
#define CALC_KIND 4
#define CALC_NUM 10
bool checkNo(char idNo[])
char getSignal()
int getResult(int,int,char)
void takeTest()
//main函数
void main()
{
printf("Please input your four digit ID no(begin with two letters):")
char idNo[IDNO_LENGTH]
do
{
scanf("%s",&idNo)
fflush(stdin)
} while(checkNo(idNo)==false)
printf("1.Start a test\t2.Check score\t3.Exitb\n")
int choose
do
{
printf("选择:")
scanf("%d",&choose)
fflush(stdin)
} while(choose!=1 &&choose!=2&&choose!=3)
if(choose==1)
{
takeTest()
}else if(choose==2)
{
FILE *fp
char ch
if((fp=fopen("score.txt","rt+"))==NULL)
{
printf("\n你还没做过题目测试")
getch()
exit(1)
}
ch=fgetc(fp)
while(ch!=EOF)
{
putchar(ch)
ch=fgetc(fp)
}
fclose(fp)
}
else
{
exit(0)
}
}
//获察尘取随机运算符
char getSignal()
{
char signal[CALC_KIND]={'+','-','*','/'}
srand((unsigned)time(NULL))
return signal[rand()%4]
}
//获取随机数
int random(double start, double end)
{
return (int)(start+(end-start)*rand()/(RAND_MAX+ 1.0))
}
//运算
int getResult(int num1,int num2,char signal)
{
int res
switch(signal)
{
case '+':
res=num1+num2break
case '-':
res=num1-num2break
case '*':
res=num1*num2break
case '/':
res=num1/num2break
default:
res=0
}
return res
}
//列出10道题
void takeTest()
{
printf("开始答题,每道题10分,或罩总共100分\n")
clock_t startTime
startTime=clock()
int index
int giveRes
int num1
int num2
int score=0
char signal
for(index=0index<CALC_NUMindex++)
{
srand((unsigned)time(NULL))
signal=getSignal()
num1=random(0,100)
num2=random(1,100)
printf("%d%c%d=",num1,signal,num2)
scanf("%d",&giveRes)
fflush(stdin)
if(getResult(num1,num2,signal)==giveRes)
{
printf("correct\n")
score+=10
}
else
{
printf("wrong\n")
}
}
FILE *fp=fopen("score.txt","w")
fprintf(fp,"分数为%d",score)
fclose(fp)
printf("解10道题用了%lf秒\n",(double)(clock()- startTime)/CLOCKS_PER_SEC)
}
//检测idNo是否合规则,合规则返回true
bool checkNo(char idNo[])
{
int index
bool flag
flag=true
for(index=0index<IDNO_LENGTHindex++)
{
if(index<2)
{
if(!isalpha(idNo[index]))
{
flag=false
printf("ID no 不符合规则,重新输入:")
break
}
}
else
{
if(!isdigit(idNo[index]))
{
flag=false
printf("ID no 不符合规则,重新输入:")
break
}
}
}
return flag
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)