c语言100以内加减乘除,一百以内的加减乘除法游戏....
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
void main()
{
int n,i,m,time1=0;long answer1,answer;float a[10]; char c[2],str[10];
long result(float a[],char str[],int n);
begin:
time1=0;
srand(time(NULL));
n=(rand()%10)+3;
if(n/2)
n=n+1;
for(i=0;i
a[i]=rand()%300+1;
m=rand()%4;
switch(m)
case 0:str[i]='+';break;
case 1:str[i]='-';break;
case 2:str[i]='*';break;
case 3:str[i]='/';break;
}
printf("this is a text please show right answer you have 3 times GOOD LUCK ");
printf("%.2f%c",a[i],str[i]);
printf("%.2f",a[(n+1)/2-1]);
printf(" ");
printf("input your answer ");
answer=result(a,str,n);
do
scanf("%ld",&answer1);
getchar();
time1++;
}while(answer1!=answer&&time1<=3);
if(answer==answer1)
printf("you are right ");
if(answer!=answer1)
printf("sorry the right answer is %ld ",answer);
printf("try again?Y/N ");
scanf("%s",c);
if(c[0]=='y'||c[0]=='Y')
goto begin;
long result(float a[],char str[],int n)
int i,j,a1,b;
a1=(n-1)/2;
b=(n+1)/2;
if(str[i]=='*')
a[i]=a[i]*a[i+1];
a1--;b--;
for(j=i;j
str[j]=str[j+1];
for(j=i+1;j
a[j]=a[j+1];
i--;
if(str[i]=='/')
a[i]=a[i]/a[i+1];
if(str[i]=='+')
a[i]=a[i]+a[i+1];
if(str[i]=='-')
a[i]=a[i]-a[i+1];
return((long)a[0]);
别人说的题目比你还清楚呢 这个代码转帖�