该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#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;
for(i=0;i
{
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\nyou have 3 times\nGOOD LUCK\n");
for(i=0;i
printf("%.2f%c",a[i],str[i]);
printf("%.2f",a[(n+1)/2-1]);
printf("\n");
printf("input your answer\n");
answer=result(a,str,n);
do
{
scanf("%ld",&answer1);
getchar();
time1++;
}while(answer1!=answer&&time1<=3);
if(answer==answer1)
printf("you are right\n");
if(answer!=answer1)
printf("sorry the right answer is %ld\n",answer);
printf("try again?Y/N\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;
for(i=0;i
{
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];
a1--;b--;
for(j=i;j
str[j]=str[j+1];
for(j=i+1;j
a[j]=a[j+1];
i--;
}
}
for(i=0;i
{
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];
a1--;b--;
for(j=i;j
str[j]=str[j+1];
for(j=i+1;j
a[j]=a[j+1];
i--;
}
}
return((long)a[0]);
}
别人说的题目比你还清楚呢 这个代码转帖�