这程序错误在哪?运行不起来,也不是想要的样子。求解。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{ int a,b,i,n,Yes,Total;//n为输入的答案;i为回答的总题数;Yes为答对题数;Total为总分;
Yes=0;
char op;
srand(time(NULL));
for(i=0;i>=0;i++)
{ a=rand()%10;
b=rand()%10;
printf("%d*%d=?\n",a,b,ab);
printf("请输入你的答案\n");
n=getchar();
if(n==a
b)
{ printf("Right!\n");Yes++;}
printf("请问是否继续答题(Y/N)\n");
scanf("%c\n",&op);
if(op=='N') break;
else continue;
}
Total=10*Yes;
printf("共做了%d道题目\n",i);
printf("做对了%d道题目\n",Yes);
printf("总分:%d\n",Total);
return 0;
}

题目是第五题

img

修改如下,供参考:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int a, b, i=0, n, Yes=0, Total;//n为输入的答案;i为回答的总题数;Yes为答对题数;Total为总分;
    Yes = 0;
    char op;
    srand(time(NULL));
    while(1)//for (i = 0; i >= 0; i++)
    {
        i++;
        a = rand() % 10;
        b = rand() % 10;
        printf("%d * %d = ?\n", a, b);
        printf("请输入你的答案:");
        scanf("%d", &n);
        getchar();
        if (n == a*b)
        {
            printf("Right!\n"); Yes++;
        }
        printf("请问是否继续答题(Y/N)\n");
        scanf("%c", &op);
        getchar();
        if (op == 'N')  break;
        //else continue;
    }
    Total = 10 * Yes;
    printf("共做了%d道题目\n", i);
    printf("做对了%d道题目\n", Yes);
    printf("总分:%d\n", Total);
    return 0;
}

a乘b不能写ab,应该写a*b
还有你的第一个printf不用写第三个变量ab