c语言,编程找出2到200之间的所有孪生素数!(ಥ_ಥ)求权威解答!!_百...
发布网友
发布时间:2024-07-08 12:07
我来回答
共1个回答
热心网友
时间:2024-07-27 12:22
#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]);
}
另外,程序,只有正确程序和错误程序之分,没有什么标准答案,更不存在权威答案,得出结果就对了,顶多是执行效率和易读性的区别。
我这里虽然比大多数学生党风格多用了一个函数,但是减少了读程序的难度,把素数的判定单独拿到一个函数中,只需要调用这个函数就能确认某个数值是不是素数。
使用数组,虽然这段代码占用的内存空间比某些课本上要多百十倍,但电脑上并不缺这点内存,除非是单片机上跑程序,而且这样写下来,程序段落感更强更清晰。