主题:谁能帮我编这个问题,万分感激!!!!!
yqh
[专家分:0] 发布于 2005-05-11 16:05:00
求100到200之间的素数,并把他们保存在数组中,在输出.
xiexie !!!
回复列表 (共3个回复)
沙发
yjiqt [专家分:350] 发布于 2005-05-13 16:00:00
#include"stdio.h"
#include<math.h>
main()
{ int array[50];/*这个数组是用来放素数,因为100---200之间是100个数,素数的个数应不会多于奇数的个数;*/
int i,k,m,n=0;
clrscr();
for(m=101;m<=200;m+=2)
{
k=sqrt(m);
for(i=2;i<=k;i++)/*当一个数是否为素数只要除到它的平方根时,还不能被任何一个数除尽的话,则这个数就是素数;*/
if(m%i==0)
break;
if(i>=k)
{
printf("%4d",m);
array[n++]=m;
}
}
printf("\n");
for(i=0;i<n;i++)
printf("%4d",array[i]);
}
/*你也可以用单链表来存放数据,typedef struct date
{ int d;
struct date *next;};
这样可动态的申请数据的存储空间,要是在Visual Basic6.0或是.NET里可用 redim 来定义组的存储空间,*/
有时间的话我们可以相互切磋,我的QQ是383189562,电子信箱是:gsliutao@126.com
板凳
lnh202 [专家分:30] 发布于 2005-05-14 02:46:00
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,n=1,m,a[30];
for(i=100;i<=200;i++)
{
k=(int)sqrt(i);
for(j=2;j<=k;j++)
{
if(i%j==0) break;
}
if(j>k)
a[n++]=i;
}
for(m=1;m<n;m++)
printf("%d ",a[m]);
printf("\n");
return 0;
}
3 楼
yqh [专家分:0] 发布于 2005-05-19 10:58:00
你的程序有点小问题:k应该定义为double型。
clrscr();
是什么意思?不起什么作用呀!
还是谢谢你!
以后继续交流,可以吗?
我来回复