一个C语言的填空 麻烦解解
来源:百度知道 编辑:UC知道 时间:2024/06/30 06:12:26
#include <stdio.h>
#include <math.h>
int IsPrime(int n)
{
int i,d;
d = (int)sqrt((double)n);
for(i= ; i<=d i++)
{
if( ) return 0;
}
;
}
void NearestPrime(int b, int *a, int *c)
{
*a=b-1;
while(*a>=2 && IsPrime(*a)==0) (*a)--;
*c= ;
while( ) (*c)++;
}
void main()
{
int b,a,c;
printf("请输入一个大于2的整数:");
scanf("%d", &b);
if( ) printf("输入错误,必须输入大于2的整数!\n");
else
{
;
printf("比%d大的第一个素数是%d;比%d大的第一个素数是%d。\n", b, a, b, c);
}
}
#include <stdio.h>
#include <math.h>
int IsPrime(int n)
{
int i,d;
d = (int)sqrt((double)n);
for(i=2 ; i<=d;i++)
{
if( n%i==0) return 0;
}
return 1;
}
void NearestPrime(int b, int *a, int *c)
{
*a=b-1;
while(*a>=2 && IsPrime(*a)==0) (*a)--;
*c=b+1;
while(IsPrime(*c)==0) (*c)++;
}
void main()
{
int b,a,c;
printf("请输入一个大于2的整数:");
scanf("%d", &b);
if(b<=2) printf("输入错误,必须输入大于2的整数!\n");
else
{
NearestPrime(b,&a,&c);
printf("比%d小的第一个素数是%d;比%d大的第一个素数是%d。\n", b, a, b, c);
}
}
没时间,烦着呢。捣什么乱
函数isPrime中:
for(i=2;i<=d;i++) {
if ((n % i)==0) return 0;
}
return 1;
函数NearestPrime中:
*c=b+1;
while(isPrime(*c)==0) (*c)++;
函数main中:
if(b<3) printf(...
else {
NearestPrime(b, &a, &c);