C语言编程输入一个数求是否为质数

如题所述

#include "stdio.h"
int prime(int n){
    int i;
    if(n>2 && !(n&1) || n<2)return 0;
    for(i=3; i*i<=n;i+=2)
        if(!(n%i)) return 0;
    return 1;
}
int main(void){
    int n;
    while(1){
        printf("Input n(int n>1)...\nn=");
        if(scanf("%d",&n) && n>1){
            if(prime(n))
                printf("%d: Yes!\n",n);
            else
                printf("%d: No!\n",n);
            break;
        }
        printf("Error, redo: ");
        fflush(stdin);
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-22
#include <stdio.h>
int judge(int x){
    int i;
    for(i=2;i*i<=x;i++){
        if(x%i==0)
            return 0;
    }
    return 1;
}
int main(){
    int n;
    printf("请输入数字:\n");
    scanf("%d",&n);
    if(judge(n)==1)
        printf("%d是质数\n",n);
    else
        printf("%d不是质数\n",n);
    return 0;
}

相似回答