C语言求100-200内素数 ,请帮我改错!~

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:21:24
#include <stdio.h>
#include <math.h>
void main()
{
int n;
int k=sqrt(n);
int i;

for(n=100;n<=200;n++)

{
for(i=2;i<=k;i++)
if(n%i==0)
break;

if(i>k+1)
{
printf("%d为素数",n);

}

}
printf("%d\n");

}

请帮我改错,不要新的 我就想知道错在哪

#include <stdio.h>
#include <math.h>
void main()
{
int n;
int k;
int i;

for(n=100;n<=200;n++)

{ k=sqrt(n); /*在前面,n值不知道,怎么给k赋值*/
for(i=2;i<=k;i++)
if(n%i==0)
break;
if(i==k+1) /*等于就行了。*/
{
printf("%d为素数",n);

}

}
printf("\n"); /*这里多出了个无用字符串 %d*/

}

int n;
int k=sqrt(n);

n是多少啊.....大哥 还开方.....
没n哪来的k啊
应该是
int n,k,i;
然后再第一个循环下边写
k=sqrt(n);

本人才疏学浅 要是不对就不用给我分了...
我也是初学者.....

#include <stdio.h>
#include <math.h>
void main()
{
int n;
/*int k=sqrt(n); 此时的n为一个未知的数*/
int i;

for(n=100;n<=200;n++)

{
for(i=2;i<=sqrt(n);i++){
if(n%i==0)
break;
}/*这是一个语句块,表示如果从2到根号n被整除了运行的语句,也就是不是素数。

下面的if也可以不要,因为经过上面的for,没有Break说明n为素数
if(i>k+1)
{ */