| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 319 人关注过本帖
标题:这个函数怎么错了呢 好奇怪
只看楼主 加入收藏
ch307458491
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2012-10-4
结帖率:75%
收藏
 问题点数:0 回复次数:5 
这个函数怎么错了呢 好奇怪
#include "stdio.h"
void main ()
{
    int ifprime(int a );
    int n,flag;
    printf("please input a number \n");
    scanf("%d",&n);
    flag=ifprime(n);
    if (flag==0)
        printf("no");
    printf("yes");
}

int ifprime(int a )
{
    int i;
    for (i=2;i<=a;i++)
    {
        if(a%i==0)
        {
            return 0;
            break;
        }

    }
    return 1;
}
搜索更多相关主题的帖子: please void include number 
2012-11-15 17:43
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
这个是判断一个数是不是素数,如果是就返回1,不是就返回0,c中非0是真,0是假。素数就是只能被1和自身整除的数,他这有个错误,就是i<=a,其实只要判断i<=a/2就行了。

[ 本帖最后由 heroinearth 于 2012-11-15 18:11 编辑 ]
2012-11-15 18:07
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:0 
for (i=2;i<=sqrt(a);i++)
2012-11-15 18:43
冰冻零点
Rank: 3Rank: 3
来 自:西安电子科技大学
等 级:论坛游侠
帖 子:81
专家分:136
注 册:2012-9-18
收藏
得分:0 
没有使用i<= sqrt(a),只能说优化的不好,但不至于出错。
int ifprime(int a )
{
    int i;
    for (i=2;i<=sqrt(a);i++)
    {
        int m=1;
        if(a%i==0)
        {  
            m=0;
            break;
        }
    }
    return m;
}

另外printf("yes");前要加else
头文件要有#include<math.h>

另外作为新手,我不知道那个if语句内的break有木有作用,求解疑。
手机打的,不足之处见谅

好好学习,天天向上
2012-11-15 19:06
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:0 
#include "stdio.h"
void main ()
{
    int ifprime(int a );
    int n,flag;
    printf("please input a number \n");
    scanf("%d",&n);
    if ( ifprime(n)==0)
        printf("no\n");
    else
    printf("yes\n");
}

int ifprime(int a )
{
    for (int i=2;i<a;i++)
    {
        if(a%i==0)
        {
            return 0;

        }

    }
    return 1;
}
这样就对了。我调试过了。
关键是FOR语句中i要小于a。不能等于a
2012-11-15 19:20
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
收藏
得分:0 
if 是在for里,可以有break!

[ 本帖最后由 yudeyinji198 于 2012-11-15 19:40 编辑 ]
2012-11-15 19:38
快速回复:这个函数怎么错了呢 好奇怪
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025500 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved