请各位看看这个程序应该怎么改,请将正确的程序代码发上来,谢了!
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int x,y,n=0,flag;
void cover()
{
printf("-------------------------------------------");
printf("| 欢迎使用 |");
printf("| |");
printf("| 小学生四则运算测试系统 |");
printf("| |");
printf("-------------------------------------------");
}
int password()
{
long password=123456;
int i=1;
long pw;
printf("请输入密码:");
scanf("%ld",&pw);
if(password!=pw)
while(1)
{
i++;
printf("对不起,密码错误!\n 请重新输入密码:");
scanf("%ld",&pw);
if(password=pw)
{
printf("密码正确。欢迎使用正版软件!\n");
flag=1;
break;
}
if(i==3)
{
printf("打击盗版。你三次输入都不正确,你不能使用这个软件。\n");
flag=0;
break;
}
}
else
{
printf("密码正确。元婴使用正版软件!");
flag=1;
}
return flag;
}
void question()
{ int rand(void);
int a,b;
char ch1;
while(1)
{
a=rand()%20+1;
b=rand()%20+1;
if(a>=b)
break;
}
printf("\n准备好了吗?");
printf("单击任意键继续~~~\n");
scanf("%c",&ch1);
scanf("%c",&ch1);
if(a%b==0&&b!=0)
{
printf("%d/%d=",a,b);
x=a/b;
}
else if(a%3==0)
{
printf("%d*%d=",a,b);
x=a*b;
}
else if(a%3==1)
{
printf("%d+%d=",a,b);
x=a+b;
}
else
{
printf("%d-%d=",a,b);
x=a-b;
}
}
void answers()
{
scanf("%d",&y);
}
int marks()
{
if(x==y)
return 1;
else
return 0;
}
void result(int r)
{
static int score;
r=marks();
if(r)
{
score+=10;
printf("恭喜你,答对了!加10分。");
printf("你的最后得分是%d分。\n",score);
}
else
{
printf("不好意思,小朋友,你打错了!\n");
printf("你的最后得分是%d分。\n",score);
}
}
int main(void)
{
int m;
char ans='y';
cover();
password();
if(flag)
while(ans=='y'||ans=='Y')
{
question();
answers();
m=marks();
result(m);
printf("\n是否继续练习?(Y/N)\n");
ans =getchar();
}
printf("\n谢谢使用,再见!\n");
return ;
}