c语言不断从键盘输入整数 如果大于3的整数判断是否为素数 直到输入0为止

如题所述

第1个回答  2014-10-30
main()
{
int in = 1;
int i = 0; 
printf("请输入"); 

where(in)

    scanf("%d",&in);  
    if(in > 3)
    {
        for(i=2;i < in;i++) 
        {
            if(in%i==0) 
            { 
            printf("不是素数,请继续输入。。。");
            break; 
            } 
        } 
        if(i == in)
        { 
           printf("是素数");
        }   
    } 

  
}  

     
}

第2个回答  2014-10-30
核心函数:
int isprime(int x){
int i;
for(i=2;i*i<=x;i++){
if(x%i==0) return 0;
}
return 1;
}本回答被网友采纳

c语言:输入一个大于3的整数并判断其是否为素数
你的代码逻辑是错误的:素数是除1和自身外没有因数的正整数,你只 if(n%i!=0){printf("%d是素数\\n",n);} 这样一次判断就认为是素数了?比如8,8%3不等于0,但谁都知道8不是素数!谭浩强的代码显然是对的——for(i=2;i<n;i++)中的;i<n是说要把n所有有可能的因子都试除一次,看看...

用C语言写一个 给出一个大于或等于3的正整数,判断他是不是一个素数...
printf("输入一个大于等于3的正整数: ");scanf("%d",&n);if(isPrime(n))printf("%d is a prime number\\n",n);elseprintf("%d is not a prime number\\n",n);return 0;}示例运行结果:输入一个大于等于3的正整数: 7 7 is a prime number 输入一个大于等于3的正整数: 25 25 is no...

C语言程序题:对于一个大于或者等于3的正整数,判断它是不是一个素数...
A-F\\n");while( (ch = getchar()) && count = '0' && ch = 'A' && ch int main(){int Num;printf("请输入一个小于1000的正整数\\n");

给出一个大于或等于3的正整数,判断他是不是一个素数。使用c语言程序编 ...
{ if(data%i==0)\/*求模为0代表除尽*\/ return 0;\/*0代表不是质数*\/ } return 1;\/*当足次循环的时候,代表是质数,会执行到此句*\/ } void main(){ int m;scanf("%d",&m讥稜罐谷忒咐闺栓酣兢);\/*输入数据,默认你输入的是对的哈*\/ if(prime(m)==1)printf("yes");else prin...

功能:从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在mai...
include <stdio.h> include <math.h> bool fun(int n){ for(int i=2;i<sqrt(n);i++){ if(n%i==0)return 0;if(i==n)return 1;} } void main(){ int n;scanf("%d",&n);if(fun(n))printf("%d是一个素数\\n",n);else printf("%d不是一个素数\\n",n);} ...

从键盘输入一个大于3的正整数,输出距离该数最近的素数。用c语言编程
int i,j,t,m;int a,a0,a1;scanf("%d",&a);m=sqrt(a);for(i=2;i<=m;i++)if(a%i==0)break;if(i>m){ printf("%d\\n",a);return;} t=a;while(1){ m=sqrt(t)+1;for(i=2;i<=m;i++)if(t%i==0)break;if(i>m){ a0=t;break;} t--;} t=a;while(1){ m=...

c语言 输入一个大于3的整数n,判定它是否为素数。为什么只需使n被2...
你说反了,是不能被2~根号n之间的任何一个整数整除才是素数 若n=a*b=根号n*根号n,那么如果a>根号n,则b肯定小于根号n,,所以只需检测到根号n,剩下的大的一半一定已经检测过了,当然你一直检测到n也行,就是浪费了时间

急求该题答案:任意≥3的正整数,判断是否是素数!做出流程图和NS图!我们...
{ void shusu_(int z);int n;printf("please enter n:\\n");scanf("%d",&n);shusu_(n);} void shusu_(int z){ int i;if(z==2||z==1)printf("this is shusu\\n");else for(i=z-1;i>1;i--){ if(z%i==0){ printf("this is wrong\\n"); break;} else printf("this...

C语言 对于一个大于或等于3的正整数,判断它是不是一个素数
n是一直不变的,这个程序只是判断输入的n是不是素数。如果n=9,那我们会依次令i等于2至8(改进算法2至3),只要有一个i可以整除n,那么就不是素数。

c语言怎么判断一个数是不是素数?
最终遍历数组输出每个值即可。 具体如下:1、素数的判断。根据素数定义,除了1和本身不存在其它约数的正整数为素数。所以在C语言中判断n是否为素数可以从2开始到到n-1逐一尝试,如果可以整除说明不是素数。更进一步,可以从2判断到n\/2或者n的算术平方根,如果不存在约数,那么即为素数。除此以外,判断...

相似回答