c语言,编程找出2到200之间的所有孪生素数!(ಥ_ಥ)求权威解答!!

如题所述

#include <stdio.h>

int prime(int n)
{int i;
for(i=2;i<n;i++)
if(n%i==0)
break;
if(i>=n&&i>1)
return 1;
else
return 0;
}

main()
{int i,a[200]={0},cnt=0;

for(i=2;i<200;i++)
if(prime(i))
a[cnt++]=i;

printf("孪生素数有以下数值:\n");

for(i=0;i<cnt;i++)
if(a[i]==a[i+1]-2)
printf("%4d<-->%-4d\n",a[i], a[i+1]);
}

另外,程序,只有正确程序和错误程序之分,没有什么标准答案,更不存在权威答案,得出结果就对了,顶多是执行效率和易读性的区别。
我这里虽然比大多数学生党风格多用了一个函数,但是减少了读程序的难度,把素数的判定单独拿到一个函数中,只需要调用这个函数就能确认某个数值是不是素数。
使用数组,虽然这段代码占用的内存空间比某些课本上要多百十倍,但电脑上并不缺这点内存,除非是单片机上跑程序,而且这样写下来,程序段落感更强更清晰。追问

return 1是什么意思?是返回到哪里

追答

谁调用的这个函数,在哪调用的,就返回到哪里。
1什么意思?c语言中没有逻辑值,真假靠0和非0辨别,你没学过?1是0还是非0?非0是真还是假?

温馨提示:答案为网友推荐,仅供参考
相似回答