c语言判断是不是素数的程序
#include<studio.h>main(){intm,i,k;scanf("%d",&m);k=m;for(i=2;i<=k;i++)if(m%i==0)break...
#include<studio.h>
main()
{int m,i,k;
scanf("%d",&m);
k=m;
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)printf("%d是素数",m)
else printf("%d是合数",m);
}
麻烦高手看一下,我在编译的时候总是有一个错误,可是我怎么也找不到。~谁来帮我一下啊~~~
不是不是。#include"math"
里面的是k=sqrt(m);
怎么还是错的啊 展开
main()
{int m,i,k;
scanf("%d",&m);
k=m;
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)printf("%d是素数",m)
else printf("%d是合数",m);
}
麻烦高手看一下,我在编译的时候总是有一个错误,可是我怎么也找不到。~谁来帮我一下啊~~~
不是不是。#include"math"
里面的是k=sqrt(m);
怎么还是错的啊 展开
13个回答
展开全部
1,首先了解素数的定义,一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。2,以下是C语言程序。
#include "stdio.h"
int main()
{
int n,flag=1,i;
scanf("%d",&n);//输入一个数n,判断它是否是素数。
for(i=2;i<n;i++)
{
if(n%i==0)// 根据素数的定义n依次除以小于它本身大于1的数
flag=0;//一旦有能被整除的数,表明 n不是素数,使得flag=0 。
}
if(flag==0)//根据flag的值判断n是否是素数
printf("%d不是素数",n);
else
printf("%d是素数",n);
return 0;
}
#include "stdio.h"
int main()
{
int n,flag=1,i;
scanf("%d",&n);//输入一个数n,判断它是否是素数。
for(i=2;i<n;i++)
{
if(n%i==0)// 根据素数的定义n依次除以小于它本身大于1的数
flag=0;//一旦有能被整除的数,表明 n不是素数,使得flag=0 。
}
if(flag==0)//根据flag的值判断n是否是素数
printf("%d不是素数",n);
else
printf("%d是素数",n);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的头文件名写错了~是stdio.h~呵呵,马虎了吧
你的if(i>k)printf("%d是素数",m)后面缺一个分号;
#include<stdio.h>
#include<math.h>
int main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)printf("%d是素数",m);
else printf("%d是合数",m);
}
编译通过
你的if(i>k)printf("%d是素数",m)后面缺一个分号;
#include<stdio.h>
#include<math.h>
int main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)printf("%d是素数",m);
else printf("%d是合数",m);
}
编译通过
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同学你好!
你这里的问题有几个:
1.头文件错误;
2.printf后面不跟分号;
3.for语句逻辑错误;
下面是我改过的:(结果正确)
#include<stdio.h>
main()
{
int m,i,k;
scanf("%d",&m);
k=m;
for(i=2;i<k;i++)/*注意这里!这里的限制条件出错了!*/
if(m%i==0)
break;
if(i>=k)/*这里也是*/
printf("%d是素数",m);/*原来你这里少了;*/
else
printf("%d是合数",m);
}
希望我的回答对你有帮助,祝你的成绩进步!
你这里的问题有几个:
1.头文件错误;
2.printf后面不跟分号;
3.for语句逻辑错误;
下面是我改过的:(结果正确)
#include<stdio.h>
main()
{
int m,i,k;
scanf("%d",&m);
k=m;
for(i=2;i<k;i++)/*注意这里!这里的限制条件出错了!*/
if(m%i==0)
break;
if(i>=k)/*这里也是*/
printf("%d是素数",m);/*原来你这里少了;*/
else
printf("%d是合数",m);
}
希望我的回答对你有帮助,祝你的成绩进步!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
帮你改好了 一定要注意书写规范否则很容易出错
多用块语句,检查也方便。
首先stdio不是studio
其次if(i>k)printf("%d是素数",m)//printf后少加分号
#include<stdio.h>
#include<math.h>
main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>k)
{
printf("%d是素数",m);
}
else
{
printf("%d是合数",m);
}
}
多用块语句,检查也方便。
首先stdio不是studio
其次if(i>k)printf("%d是素数",m)//printf后少加分号
#include<stdio.h>
#include<math.h>
main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>k)
{
printf("%d是素数",m);
}
else
{
printf("%d是合数",m);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<studio.h>
头文件写错了
应该是#include<stdio.h>
头文件写错了
应该是#include<stdio.h>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询