输入数字想得到算时结果输不出来
#include<stdio.h>#include<stdlib.h>
#include<time.h>
#include <iostream.h>
#include <conio.h>
int yiwei(int m,int n,int k);
int liangwei(int m,int n,int k);
int sanwei(int m,int n,int k);
void main()
{
int score,m,n,k,choose;
printf("========================\n");
printf("请选择下面的一个项目:\n"); /*显示主菜单*/
printf(" \t1.一位数\n");
printf(" \t2.二位数\n");
printf(" \t3.三位数\n");
printf(" \t4.退出\n");
printf("========================\n");
printf("请选择1~4:\n"); 在这一步输入数字怎么得不到算式呀???????
choose=getch(); /*输入所选的数字*/
switch(choose)
{
case 1:yiwei(m,n,k);break; /* 调用自定义函数yiwei*/
case 2:liangwei(m,n,k);break; /*调用自定义函数liangwei*/
case 3:sanwei(m,n,k);break; /*调用自定义函数sanwei*/
case 4:exit(0);break; /*退出*/
default: break;
}
}
int yiwei(int m,int n,int k) /*定义函数yiwei*/
{
int i,a1,a2,a3,s,result,score;
char flag[3]={'+','-','*'};
srand(time(NULL)); /*随机种子初始化*/
for(i=1;i<=10;i++)
{
a1=rand()%10; /*随机生成一位数a1,a2*/
a2=rand()%10;
a3=rand()%2 ; /*生成0到2之间的数k*/
switch(k)
{
case 0:printf("%d %c %d",a1,flag[a3],a2); /*转换成算式*/
result=a1+a2;
break;
case 1:printf("%d %c %d",a1,flag[a3],a2);
result=a1-a2;
break;
case 2:printf("%d %c %d",a1,flag[a3],a2);
result=a1*a2;
break;
default:
printf("somethingis wrong!\n");
break;
}
}
scanf("%d", &s); /*输入答案*/
if(s == result) /*第一次判断正确加十分*/
{
score+= 10;
printf("完全正确,你非常聪明!加10分\n");
}
else
{
printf("你答错了,继续努力!\n");
printf("%d %c% d=",a1,flag[a3],a2); /*错重新输出*/
scanf("%d",&s);
if(s==result) /*第二次判断正确加8分*/
{
score+=8;
printf("答对了,你很棒!加8分\n");
}
else
{
printf("你答错了,继续努力!\n");
printf("%d %c% d=",a1,flag[a3],a2); /*错重新输出*/
scanf("%d",&s);
if(s==result) /*第三次判断正确加6分*/
{
score+=6;
printf("答对了,祝贺你!加6分\n");
}
else /*错输出正确结果并进行下一题*/
printf("非常遗憾你又答错了,请继续做下一题。本题的正确答案为%d\n",s);
}
}
return score;
}
int liangwei(int m,int n,int k) /*定义函数liangwei*/
{
int i,a1,a2,a3,s,result,score;
char flag[4]={'+','-','*','/'};
srand(time(NULL)); /*随机种子初始化*/
for(i=1;i<=10;i++)
{
a1=rand()%10; /*随机生成一位数a1,a2*/
a2=rand()%10;
a3=rand()%3 ; /*生成0到3之间的数k*/
switch(k)
{
case 0:printf("%d %c %d",a1,flag[a3],a2); /*转换成算式*/
result=a1+a2;
break;
case 1:printf("%d %c %d",a1,flag[a3],a2);
result=a1-a2;
break;
case 2:printf("%d %c %d",a1,flag[a3],a2);
result=a1*a2;
case 3:printf("%d %c%d",a1,flag[a3],a2);
break;
default:
printf("somethingis wrong!\n");
break;
}
}
scanf("%d", &s); /*输入答案*/
if(s == result) /*第一次判断正确加十分*/
{
score+= 10;
printf("完全正确,你非常聪明!加10分\n");
}
else
{
printf("你答错了,继续努力!\n");
printf("%d %c% d=",a1,flag[a3],a2); /*错重新输出*/
scanf("%d",&s);
if(s==result) /*第二次判断正确加8分*/
{
score+=8;
printf("答对了,你很棒!加8分\n");
}
else
{
printf("你答错了,继续努力!\n");
printf("%d %c% d=",a1,flag[a3],a2); /*错重新输出*/
scanf("%d",&s);
if(s==result) /*第三次判断正确加6分*/
{
score+=6;
printf("答对了,祝贺你!加6分\n");
}
else /*错输出正确结果并进行下一题*/
printf("非常遗憾你又答错了,请继续做下一题。本题的正确答案为%d\n",s);
}
}
return score;
}
int sanwei(int m,int n,int k) /*定义函数sanwei*/
{
int i,a1,a2,a3,s,result,score;
char flag[5]={'+','-','*','/','%'};
srand(time(NULL)); /*随机种子初始化*/
for(i=1;i<=10;i++)
{
a1=rand()%10; /*随机生成一位数a1,a2*/
a2=rand()%10;
a3=rand()%4; /*生成0到4之间的数k*/
switch(k)
{
case 0:printf("%d %c %d",a1,flag[a3],a2); /*转换成算式*/
result=a1+a2;
break;
case 1:printf("%d %c %d",a1,flag[a3],a2);
result=a1-a2;
break;
case 2:printf("%d %c %d",a1,flag[a3],a2);
result=a1*a2;
case 3:printf("%d %c %d",a1,flag[a3],a2);
break;
case 5:printf("%d %c %d",a1,flag[k],a2);
default:
printf("somethingis wrong!\n");
break;
}
}
scanf("%d", &s); /*输入答案*/
if(s == result) /*第一次判断正确加十分*/
{
score+= 10;
printf("完全正确,你非常聪明!加10分\n");
}
else
{
printf("你答错了,继续努力!\n");
printf("%d %c% d=",a1,flag[a3],a2); /*错重新输出*/
scanf("%d",&s);
if(s==result) /*第二次判断正确加8分*/
{
score+=8;
printf("答对了,你很棒!加8分\n");
}
else
{
printf("你答错了,继续努力!\n");
printf("%d %c% d=",a1,flag[a3],a2); /*错重新输出*/
scanf("%d",&s);
if(s==result) /*第三次判断正确加6分*/
{
score+=6;
printf("答对了,祝贺你!加6分\n");
}
else /*错输出正确结果并进行下一题*/
printf("非常遗憾你又答错了,请继续做下一题。本题的正确答案为%d\n",s);
}
}
return score;
}