韩信点兵中的C语言编程问题

韩信先令士兵从1-3报数,结果最后一个士兵报2;从1-5报数,最后一个士兵报3,;从1-7报数,
最后一个士兵报
用C语言编写程序计算士兵总数至少有多少人。

#include<stdio.h>
int main(){
    int a,b,c;
    while(scanf("%d%d%d",&a,&b,&c)==1){
        int flags=1;
        for(int i=10;i<=99;i++){
            if(i%3==a&&i%5==b&&i%7==c){
                printf("%d\n",i);
                flags=0;
                break;
            }
        }
        if(flags)
            printf("No answer");
    }
    return 0;
}

输入一组数据后,没有输出就结束运行了。

输入案例:2 1 6
2 1 3
输出 : 41
No answer

scanf()返回值是已成功读入数据的个数或EOF,所以应该是3,而不是1

#include <stdio.h>

int main()
{
    int a, b, c;
    while (scanf("%d%d%d", &a, &b, &c) == 3)
    {
        int flags = 1;
        for (int i = 10; i <= 99; i++)
        {
            if (i % 3 == a && i % 5 == b && i % 7 == c)
            {
                printf("%d\n", i);
                flags = 0;
                break;
            }
        }
        if (flags)
            printf("No answer\n");
    }
    return 0;
}