源程序(有错误)
#include<stdio.h>
#include<math.h>
void main()
{ int i,j,k,m,n;
printf(“输入正整数的个数n:”);
scanf(“%d”,&n);
printf(“输入%d个正整数\n”);
for(j=0;j<k;j++)
{ scanf(“%d”,&m);
n=sqrt(m);
for(i=2;i<n;i++)
if(m/i==0) break;
if(i>n)
printf(“%d是一个素数!\n”,m);
else
printf(“%d不是一个素数!\n”,m);
}
}
程序似乎没有错啊!但是运行结果:
输入正整数的个数:2
输入2367460个整数
然后就没了啊 !为什么啊!!
调试示例,输入正整数的个数n,再输入n个正整数,判断它们是否为素数。高人指点!跪求啊!
答案:1 悬赏:60
解决时间 2021-03-14 03:35
- 提问者网友:白越
- 2021-03-13 21:29
最佳答案
- 二级知识专家网友:余生继续浪
- 2021-03-13 22:38
给你做了一些修改,你看一下。
主要错误是:第二个printf后面少了个n;输入的是n,用的却是k。第二个for里的循环条件改了一下。
#include<stdio.h>
#include<math.h>
void main()
{ int i,j,k,m,n;
printf("输入正整数的个数n:");
scanf("%d",&n);
printf("输入%d个正整数\n",n);
k=n;
for(j=0;j<k;j++)
{ scanf("%d",&m);
n=sqrt(m);
for(i=2;i<n+1;i++)
if(m%i==0) break;
if(i>n)
printf("%d是一个素数!\n",m);
else
printf("%d不是一个素数!\n",m);
}
}
主要错误是:第二个printf后面少了个n;输入的是n,用的却是k。第二个for里的循环条件改了一下。
#include<stdio.h>
#include<math.h>
void main()
{ int i,j,k,m,n;
printf("输入正整数的个数n:");
scanf("%d",&n);
printf("输入%d个正整数\n",n);
k=n;
for(j=0;j<k;j++)
{ scanf("%d",&m);
n=sqrt(m);
for(i=2;i<n+1;i++)
if(m%i==0) break;
if(i>n)
printf("%d是一个素数!\n",m);
else
printf("%d不是一个素数!\n",m);
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯