这个程序哪里错了? 写一个c语言判断素数数的函数,在主函数中输入一个整数,输出是否是素数的信息。

只需一步,快速开始
后使用快捷导航没有帐号?
查看: 8097|回复: 10
编一函数fun,功能是判断一个整数m是否是素数,若是返回1,否则返回0。
签到天数: 43 天[LV.5]常住居民I
#include&stdio.h&
int fun(int m)
& & & & int i,k;
& & & & for(i=2,k=0;i&m;i++)
& & & & & & & & k=m%i;
& & & & & & & & if(k==0)
& & & & & & & & {
& & & & & & & & & & & & return 0;
& & & & & & & & }
& & & & & & & & else
& & & & & & & & {
& & & & & & & & & & & & return 1;
& & & & & & & & }
& & & & return -1;
& & & & printf(&请输入一个整数:\n&);
& & & & scanf(&%d&,&m);
& & & & if(fun(m))
& & & & & & & & printf(&yes.%d\n&,m);
& & & & else
& & & & & & & & printf(&no.\n&);
}为什么我输入27显示的也是素数呀。求告知。其他数值倒没错。。
楼主不会用排版 麻烦大家了
兄弟,给你看看我的代码,自己查百度写的,有什么问题的话欢迎提出!
// 接收输入的正整数
//j=0标志n是质数,j=1标志n是合数
printf("请输入一个正整数!\n");
scanf("%d",&n);
while(n=0)
if (n==1||n==0)
printf("%d既不是质数也不是合数!\n",n);
else if(n==2 ||n==3)
printf("%d是质数!\n",n);
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 111 天[LV.6]常住居民II
兄弟,给你看看我的代码,自己查百度写的,有什么问题的话欢迎提出!
#include &stdio.h&
#include &math.h&
void&&main()
& & & &// 接收输入的正整数
& & & &//j=0标志n是质数,j=1标志n是合数
& & & & printf(&请输入一个正整数!\n&);
& & & & scanf(&%d&,&n);
& & & & while(n&0)
& & & & & & & & printf(&请输入一个正整数!\n&);
& & & & & & & & scanf(&%d&,&n);
& & & & if (n&=0)
& & & & & & & & if (n==1||n==0)
& & & & & & & & {
& & & & & & & & & & & & printf(&%d既不是质数也不是合数!\n&,n);
& & & & & & & & }
& & & & & & & & else if(n==2 ||n==3)
& & & & & & & & {
& & & & & & & & & & & & printf(&%d是质数!\n&,n);
& & & & & & & & }
& & & & & & & & else
& & & & & & & & {
& & & & & & & & & & & & for (i=2;i&=(int)sqrt(n);i++)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & if (n%i==0)
& & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & printf(&%d是合数!\n&,n);
& & & & & & & & & & & & & & & & & & & & printf(&%d的最小因子i=%d!\n&,n,i,n);
& & & & & & & & & & & & & & & & & & & & j=1;
& & & & & & & & & & & & & & & & & & & && & & &
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & else
& & & & & & & & & & & & & & & & {
& & & & & & & & & & & & & & & & & & & & j=0;
& & & & & & & & & & & & & & & & }& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & if (0==j)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & printf(&%d是质数!\n&,n);
& & & & & & & & & & & & }
& & & & & & & & }
& & & & }& & & &
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 43 天[LV.5]常住居民I
求帮忙啊,我多输入了几遍 发现好多都是错的。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 43 天[LV.5]常住居民I
在线等啊啊啊啊
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 99 天[LV.6]常住居民II
你这个程序设计有问题
fun函数只会执行一次,根本不能循环判断。
return一旦执行就代表该函数结束
所以当你输入27时,k = 1;那么就会执行else里面的语句 return 1;
此时整个fun结束返回值为1,
main中输出yes
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 99 天[LV.6]常住居民II
本帖最后由 cocoboy027 于
22:20 编辑
int fun(int m)
& && &for (i=2; i&sqrt(m); i++)
& && && && & if(m%i == 0)
& && && && && && &&&return 0;
& &&&return 1;
注意添加头文件
# include &math.h&
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 43 天[LV.5]常住居民I
cocoboy027 发表于
int fun(int m)
改了之后输入27还显示的是YES是素数。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 43 天[LV.5]常住居民I
cocoboy027 发表于
你这个程序设计有问题
fun函数只会执行一次,根本不能循环判断。
return一旦执行就代表该函数结束
噢 谢了谢了 看懂了
你会改么?谢了
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 99 天[LV.6]常住居民II
改了之后输入27还显示的是YES是素数。
不会吧,我的代码没错的,27不会输出yes的
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 240 天[LV.8]以坛为家I
本帖最后由 Ъγ:_小ツ雨oο 于
23:01 编辑
#include&stdio.h&
#include&math.h&
void main()
& && &&&int fun(int n);
& && &&&int k,b;
& && &&&scanf(&%d&,&k);
& && &&&b=fun(k);
& && &&&printf(&%d&,b);
int fun(int n)
& && &&&int i,j;
& && &&&i=sqrt(n);
& && &&&for(j=2;j&=i;j++)
& && && && && & if(n%j==0)
& && && && && & {
& && && && && && && && &return 0;
& && && && && & }
& && &&&if(j&=i)
& && && && && & return 1;
这个应该是你想要的答案吧 ,&&
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 72 天[LV.6]常住居民II
不建議直接求助問程序邏輯上的錯誤,因為這個完全可以調試出來,調試越多越有經驗,離高手才越近。DEBUG才是精髓啊,大家要培養樂於DEBUG的心態。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
•••(
Powered by 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
C语言程序设计实训教程习题和实验解答
下载积分:500
内容提示:精品文档: c语言实训小结 c语言实训总结 c语言实训 c语言..
文档格式:PDF|
浏览次数:74|
上传日期: 01:26:08|
文档星级:
该用户还上传了这些文档
C语言程序设计实训教程习题和实验解答
官方公共微信(3) 写一个判断素数的函数,在主函数中输入一个整数,输出是否素数的信息。(注意:要求用函数实现)_百度知道
(3) 写一个判断素数的函数,在主函数中输入一个整数,输出是否素数的信息。(注意:要求用函数实现)
//也不说用什么语言,我用C语言来实现!#include &stdio.H&#include &math.h&int prime(int m){int i,n;if(m==1)return 0;n=(int)sqrt((double)m);for(i=2;i&=n;i++)if(m%i==0)return 0; return 1; }void main(){
scanf(&%d&,&n); if(prime(n))
printf(&%d is a prime.\n&,n); else printf(&%d is not a prime.\n&,n);}
其他类似问题
为您推荐:
a/beginbegin
read(x):longint:=c;)
else write(x;2)and(c) do inc(b),&#39:=is not sushu&#39:c:longint);
if pd(x) then write(x;end,&#39:
while (b&lt:):=2:=true is sushu&#39functions pd(a
判断素数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁下列程序的功能是:prime()函数用于判别一个数是否为素数,在主函数输入一个整数,输出是否素数的信息。, 下列程序的功能是:prime()函数
下列程序的功能是:prime()函数用于判别一个数是否为素数,在主函数输入一个整数,输出是否素数的信息。 #include&stdio.h&void main(){int prime(int number);printf(&请输入一个正整数:\n&);scanf(&%d&,&number);if (prime(numbe础叮壁顾撰该辩双菠晶r))printf(&\n %d是素数. &,number);elseprintf(&\n %d不是素数. &,number);}int prime(int
num) /*此函数用于判别素数*/{ int flag=
,n;for(n=2;n&num/2 &&
②n++)if (
==0)flag=0;return(
);}填空!急,谢谢好心人 蜜色血液 下列程序的功能是:prime()函数用于判别一个数是否为素数,在主函数输入一个整数,输出是否素数的信息。
① 1② flag == 1③ num%n④ flag楼主啊……这是个很简单的东西,你要是这样都不喜欢想的话,还是不要学这玩意了吧础叮壁顾撰该辩双菠晶……没兴趣没耐心绝对学不好的
int prime(int
础叮壁顾撰该辩双菠晶num) /*此函数用于判别素数*/{ int flag=①
,n;for(n=2;n&num/2 &&
②flag==1n++)if (
==0)flag=0;return(
);}别着急,慢慢找兴趣,看多了程序就行了。多积累。
我再粘…… 嘿嘿,最近素数怎么这么多,不粘白不粘#include (&stdio.h&)int isPrime ( int n ){
for (i = 2; i &= n/i; ++i)
if (n % i == 0)
return 0;}int main (void){
scanf (&%i&, &n);
if ( isPrime ( n ) == 0 )
printf (&NO\n&);
printf (&YES\n&);}写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息求解
#include&iostream&using&namespace&bool&isSushu(int);//检查是否是素数void&main(){int&a;cout&&&请输入数字:&;cin&&a;if&(isSushu(a)){cout&&a&&&是一个素数&&&}else{cout&&a&&&不是一个素数&&&}&}bool&isSushu(int&a){if&(a==2){return&}for(int&i=2;i&a;i++){if&(a%i==0){return&}}return&}&【数学之美】很高兴为你解答,不懂请追问!满意请采纳,谢谢!O(∩_∩)O~
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 c语言判断素数 的文章

 

随机推荐