C语言编程问题:从键盘输入一个正整数,判断该数是否素数并输出。如果输入的不是正数,则提示输入错误。

2024-11-29 09:29:21
推荐回答(3个)
回答1:

#include 
void Test()
{
   int temp,i;
    scanf("%d",&temp);
   if(temp<=0)
   {
      printf("输入错误,请输入正整数")
      return;
   }
   for(i=2;i    {
      if(temp%i==0)
      {
       printf("%s不是素数",temp);
       return;
      }
    }
    printf("%s是素数",temp);
}
int main()
{
   Test();
   return 0;
}

回答2:

#include 
int is_prime( int n )
{
int i;
if ( n < 2 )
return 0;
for( i=2; i<=n/2;i++ )
if ( n%i==0 )
return 0;
return 1;
}
int main()
{
int n;
while( scanf("%d", &n)!=EOF )
{
if ( n <= 0 )
{
            printf("输入错误,请输入正整数。\n");
}
else 
{
if ( is_prime( n ) )
printf("%d是素数。\n", n);
else
printf("%d不是素数。\n", n);
}
}
return 0;
}

回答3:

#include 

int main()
{
    int a;
    printf("输入:");
    scanf("%d",&a);
    if(a<=0)
    {
        printf("输入错误,请输入正整数");
        return -1;
    }
    for(int i=2;i    {
        if(a%i==0)
        {
            printf("%d不是素数",a);
            break;
        }
         
    }
    if(i==a)
        printf("%d是素数",a);
    return 0;
}