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

从键盘输入一个正整数,判断该数是否素数并输出。如果输入的不是正数,则提示输入错误。
用C语言编写程序实现。
测试数据:输入:7 输出:7是素数 。
输入:9 输出:9不是素数 。
输入:-3 输出:输入错误,请输入正整数 。

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-06
#include <stdio.h>
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;
}

本回答被提问者和网友采纳
第2个回答  2014-12-04
#include <stdio.h>

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

追问

系统显示第10行有错啊……

追答

第10行那一句?

追问

对的……

相似回答