C语言|判断是否为素数

C语言| 无参函数、有参函数、形参、实参

C语言| 函数声明、函数的返回值

判断一个自然数是否是素数 
自定义函数用来判断是否为素数,在主函数main()里进行调用。
【分析过程】
素数==质数,它只能被1和自身整除的自然数。
一切非负整数,即0和所有正整数统称为自然数。
除2以外的所有质数都为奇数。
1 输入一个数num,num<2 用if语句先判断是否为素数。
2 定义Prime函数直接判断素数
  i 数字1和2单独用if语句判断;
  ii 大于2的数字,先判断是否为偶数(2之后的偶数一定不是素数)
  iii 用sqrt()函数判断,能被整除的不是素数
      num从3开始,除以3 ~ sqrt()之间的每个整数

{注意}用return语句跳出被调函数

循环语句跳出一个循环,用break语句。
跳出被调函数,用return。执行到哪个return,就从这个return返回到主调函数中。
定义函数的返回值类型为void型,中途退出只写 return;
定义函数的返回值类型为非void型,没有确切的值,习惯写return 0;
没有return 语句,不跳出被调函数,就会按顺序往下执行。

【函数命名规则】
1 和变量命名规则一样,都是字母、数字、下划线的组合,而且不能以数字开头,通常以字母开头。
2 库函数名都是小写,自定义函数名最好以大写字母开头,多个单词组成,每个单词的首字母全部大写,必要时用下划线间隔;
3 函数名不要缩写,方便通过函数名知道它的功能。

【程序代码】

#include <stdio.h>
#include <math.h> //使用sqrt()函数

int Prime(int x); //函数声明

int main(void)
{
    int num;
    
    printf("请输入一个整数:");
    scanf("%d", &num);

    if((Prime(num) == 0))
    {
        printf("该数不是素数。\n");
    }
    else if(Prime(num) == 1)
    {
        printf("该数是素数。\n");
    }

    return 0;
}

int Prime(int x) //Prime是素数的英文单词
{
    int i;
    if(x == 1)
    {
        return 0; //1不是素数
    }
    else if(x == 2)
    {
        return 1; //2是素数
    }
    else if(x%2 == 0)
    {
        return 0; //除2以外的偶数不是素数
    }
    else
    {
        for(i=3; i<=sqrt(x); i++)
        {
            if(x%i == 0)
            {
                return 0;
            }
        }
    }

    return 1; //执行到这步,该数不能被整除,说明它是素数
}
/*
在VC++6.0中的输出结果为
------------------------
请输入一个整数:9
该数不是素数。
请输入一个整数:174
该数不是素数。
请输入一个整数:113
该数是素数。
-----------------------
*/
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值