输出100到200之间个位数是3或者十位数是9的全部素数。望解答,看一下我写的程序哪里有问题?

#include<stdio.h>#include<math.h>int main(){int count = 0;int i = 0;int a;for(i=101; i<=200; i+=2){ int j = 0;for(j=2; j<=sqrt(i); j++){if(i%j == 0)break;}}scanf("%d",&i); if((i/10)%10==9||(i%10)==3) a=i;printf("%d",a);return 0;}
2026年09月18日 06:33
有3个网友回答
网友(1):

你还很不熟悉C语言的语法,先看书

网友(2):

你要把判断个位数和十位数以及输出也都放到大循环里面才行,改正后如下,有疑问可以追问或者私信:
#include
#include
int main()
{
int count = 0;
int i = 0;
int a;
for(i=101; i<=200; i+=2)
{
int j = 0;
for(j=2; j<=(int)sqrt((double)i); j++)
{
if(i%j == 0)
break;
}
if (i%j != 0)
{
if((i/10)%10==9||(i%10)==3)
{
a=i;
printf("%d\r\n",a);
}
}
}
return 0;
}

网友(3):

103 123 133 143 153 163 173 183 193