麻烦帮忙在TC环境下编写程序

来源:百度知道 编辑:UC知道 时间:2024/06/03 23:30:28
领会并牢固掌握素数算法,深入循环结构设计。从键盘输入一个大于3的正整数,输出距离该数最近的素数。根据输入的数不同,此问题可能有一个答案(或者比输入的数大或者比输入的数小),也可能需要输出两个值(一个比输入的数大,一个比输入的数小,两个距离输入的数一样近)。

先写一个判断是不是素数的函数,然后再主程序中调用比较就可以了/

#include "math.h"

int susu(int num){
int i,k,leap=1;
k=sqrt(num+1);
for(i=2;i<=k;i++){
if(num%i==0){
leap=0;
break;
}
else
leap=1;
}

return leap;
}

main()
{
int i,num;
int min=0,max=0;
printf("\nEnter number:");
scanf("%d",&num);
if(susu(34))
printf("34 is leap");

for(i=2;i<=num;i++){

if(susu(i))
min=i;
}

if(min)
printf("\nmin susu =%d",min);

for(i=(num+1);i;i++){
if(susu(i)){
max=i;
break;
}
}

printf("\nmax susu =%d",max);
getch();

}