随意输入一个整数序列,以-1为结束标志,输出其中的所有尾数为7的素数

随意输入一个整数序列,以-1为结束标志,输出其中的所有尾数为7的素数

img


想知道写的代码是哪里错了😭

flag在while内部每次要先设置为0,也可以不用flag变量
另外先判断尾数,再判断素数,效率比较高

#include <stdio.h>
int main()
{
    int i,j;
    scanf("%d",&i);
    while(i != -1)
    {
        if(i%10 == 7 && i>1)
        {
            for(j=2;j<i;j++)
                if(i%j==0)
                    break;
            if(j==i)
                printf("%d ",i);
        }
        scanf("%d",&i);
    }
}

flag 要在 while循环开头 初始化为 0,不然上一次计算的结果,就会导致误判

while (i != -1)
{
      flag = 0;
}