C语言入门案例练习2——找素数

cpp 复制代码
#include <stdio.h>
int prime(int n){
	if(n<2){
		return 0;
	}
	for(int i=2;i*i<=n;i++){
		if(n%i==0){
			return 0;
		}
	}
	return 1;
}
void find_primes(int a){
	for(int i=2;i<a;i++){
		if(prime(i)){
			printf("%d ",i);
		}
	}
}
int main(){
	int b;
	scanf("%d",&b);
	find_primes(b);
	return 0;
} 

这段 C 语言代码的主要目的是实现一个简单的程序,用于找出用户输入的整数之前(不包括该整数本身)的所有素数,并将这些素数依次输出。

一、函数 prime

函数prime用于判断一个给定的整数n是否为素数。首先,它进行了一个边界条件的判断,如果n小于 2,因为素数定义是大于 1 且除了 1 和它自身外不能被其他自然数整除的数,所以小于 2 的数肯定不是素数,直接返回 0。然后通过一个for循环,从 2 开始到i * i <= n为止进行遍历。这里之所以只需要遍历到i * i <= n,是因为如果一个数n不是素数,那么它一定可以分解成两个因数,其中至少有一个因数是小于等于sqrt(n)的,而i * i <= n就相当于i <= sqrt(n)。在循环中,如果n能被i整除,那就说明n不是素数,返回 0;如果整个循环都没有找到能整除n的数,就说明n是素数,返回 1。

二、函数 find_primes

函数find_primes接受一个整数参数a,它的功能是在 2 到a - 1这个范围内,逐个调用prime函数来判断每个数是否为素数。如果是素数,就通过printf函数将其输出,输出格式是每个素数后面跟一个空格。

三、主函数 main

在主函数main中,首先定义了一个整数变量b,然后通过scanf函数从用户那里获取一个整数输入,并将其存储到b中。接着调用find_primes函数,传入用户输入的整数b,让程序找出并输出小于b的所有素数。最后,主函数返回 0,表示程序正常结束。

相关推荐
傻乐u兔16 分钟前
C语言进阶————指针3
c语言·开发语言
大江东去浪淘尽千古风流人物33 分钟前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
独好紫罗兰1 小时前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
wuhen_n1 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
努力学算法的蒟蒻1 小时前
day79(2.7)——leetcode面试经典150
算法·leetcode·职场和发展
2401_841495641 小时前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
AC赳赳老秦1 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek
CodeSheep程序羊2 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
独好紫罗兰2 小时前
对python的再认识-基于数据结构进行-a002-列表-列表推导式
开发语言·数据结构·python
2401_841495642 小时前
【LeetCode刷题】二叉树的直径
数据结构·python·算法·leetcode·二叉树··递归