ZZULIOJ题解

1092: 素数表(函数专题)

题目描述
输入两个正整数m和n,输出m和n之间的所有素数。
要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现。
int prime (int n)
{
//判断n是否为素数, 若n为素数,本函数返回1,否则返回0
}
对于C/C++代码的提交,本题要求必须通过定义prime函数main函数实现,否则,提交编译错误,要提交完整的程序。

输入
输入两个正整数m和n,m<=n,且都在int范围内。

输出
输出占一行。输出m和n之间的所有素数,每个数后有一个空格。测试数据保证m到n之间一定有素数。

样例输入

2 6

样例输出

2 3 5 

开始函数专题的训练了,其实一般来说是以前题目的函数化考察,这里提交会出现很多编译错误。因为题目可能要求只提交函数部分哈哈哈。所以注意读题就好啦。加油。

代码

#include<stdio.h>
#include<math.h>
int prime(int x) //按照题目要求定义prime函数
{ 
   int i,k;//定义循环变量i,以及根号x的结果k
   if(x==1) return 0;//x为1,不是素数,返回0
   k=(int)sqrt(x);//强制转换为int类型
   for(i=2;i<=k;i++)
   {
   if(x%i==0) return 0;//如果x对数字取余结果为0,那么数字不是素数,返回0
   }
    return 1;//如果是素数,那么返回1
}
int main()
{
	int j,x,y;//定义循环变量j,以及未知数x,y
	scanf("%d %d",&x,&y);//键盘输入x,y
	for(j=x;j<=y;j++)//从x遍历到y
	{
	if(prime(j)) printf("%d ",j);//如果素数函数返回值是1,输出这个素数
	}
	return 0;//程序正常结束
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐