C 语言基础题目:PTA L1-028 判断素数

本题的目标很简单,就是判断一个给定的正整数是否素数。

输入格式:

输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。

输出格式:

对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No

输入样例:

2
11
111

输出样例:

Yes
No

程序源码: 

#include   // 引入标准输入输出头文件  
#include    // 引入数学函数头文件  
  
// 定义函数 if_sishu,用于判断一个数是否为素数  
int if_sishu(int n)    
{    
    if (n == 1) // 如果 n 等于 1,则返回 0,表示不是素数  
    {  
        return 0;    
    }  
    for (int i = 2; i <= sqrt(n); i++)  // 从 2 到 sqrt(n) 遍历每个数  
    {    
        if (n % i == 0) // 如果 n 能被 i 整除,则不是素数,返回 0  
        {    
            return 0;    
        }    
    }    
    return 1; // 循环结束都没有找到能整除 n 的数,说明是素数,返回 1  
}  
  
int main()  // 主函数  
{    
    int n, i, x;  // 定义变量 n、i、x  
    scanf("%d", &n);  // 从标准输入读取一个整数,赋值给 n  
    for (i = 0; i < n; i++)  // 循环 n 次  
    {    
        scanf("%d", &x);  // 从标准输入读取一个整数,赋值给 x  
        if (if_sishu(x))  // 判断 x 是否为素数  
        {    
            printf("Yes\n");   // 如果是素数,输出 "Yes"  
        }    
        else    
        {    
            printf("No\n");   // 如果不是素数,输出 "No"  
        }    
    }    
    return 0;  // 返回 0,表示程序正常结束  
}

你可能感兴趣的:(c,c语言)