這個問題怎得讓我超級煩,真的希望有大神能幫我解決一下
#include <stdio.h>
#include <stdlib.h>
int a(char op)
{
int i,n,x,y;
switch(op)
{
case '+':?
{
x=rand()%10+1;
y=rand()%10+1;
do
{
i++;
printf("請計算如下兩個數(shù)字的結果:\n");
printf("%d+%d=?\n",x,y);
? ? scanf("%d",&n);
? ? if(n==x+y)
? ? {
? ? return 5;
? ? break;
}
}while(i!=5);
return 0;break;
? ? }
case '-':
{
x=rand()%10+1;
y=rand()%10+1;
do
? ?{
i++;
printf("請計算如下兩個數(shù)字的結果:\n");
printf("%d-%d=?\n",x,y);
if(x-y<0)
{
printf("跳過\n");
break;
}
scanf("%d",&n);
if(n==x-y)
? ? ? ? ? ?{
? ?return 5;
? ?break;
}
}
while(i!=5);
return 0;
break;
}
case '*':
{
x=rand()%10+1;
y=rand()%10+1;
do
{
i++;
printf("請計算如下兩個數(shù)字的結果:\n");
printf("%d*%d=?\n",x,y);
? ? scanf("%d",&n);
? ? if(n==x*y)
? ? {
? ? return 5;
? ? break;
}
}while(i!=5);
return 0;break;}
case '/':
{
x=rand()%10+1;
y=rand()%10+1;
do
{
i++;
printf("請計算如下兩個數(shù)字的結果:\n");
printf("%d/%d=?\n",x,y);
? ? scanf("%d",&n);
? ? if(n==x/y)
? ? {
? ? return 5;
? ? break;
}
}while(i!=5);
return 0;break;
}
}
}?
int main()
{
char op;
int sum=1,i;
for(i=1;i<=5;i++)
{
scanf("%c",&op);
sum+=a(op);
printf("請繼續(xù)選擇\n");
}
printf("%d\n",sum);
return 0;
}
//為什么不管輸入哪個符號,只要輸入進去然后運行的時候就會自動跳過一次
2018-11-24
就是比如第一次輸入"+",然后結果出來后就會出現(xiàn)”兩次請繼續(xù)選擇“,然后才能繼續(xù)輸入符號。在線等,很著急