| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 893 人关注过本帖
标题:困扰我好久了,,,大伙帮忙
只看楼主 加入收藏
水古奇影
Rank: 2
等 级:论坛游民
帖 子:16
专家分:78
注 册:2011-5-16
收藏
得分:0 
回复 8楼 wiskle
wiskle的程序有点儿问题哦~~自己找找看看吧
2012-08-12 09:07
陈艺深13
Rank: 2
等 级:论坛游民
帖 子:22
专家分:11
注 册:2012-7-26
收藏
得分:0 
回复 4楼 embed_xuel
想不出来才问吗,,,是困扰了好久才拿出来问的,,,,现在也弄明白 了
2012-08-12 09:34
刘根淼
Rank: 2
等 级:论坛游民
帖 子:13
专家分:39
注 册:2012-7-24
收藏
得分:2 
#include <math.h>
#include <stdio.h>

int  fun(int  a,int  *b,int  *c)//给这个函数加返回值是很必要的,不然就会有BUG存在
{  
    int  i,j,d,y;
    for(i=3;i<=a/2;i=i+2)
    {
/**************found**************/
        y=1;                                   //错哪里?
        for(j=2;j<=sqrt((double)i);j++)//这个for循环是为了求证i是不是素数,y = 0就不是,等于1就是素数
        {
            if(i%j==0)  
                y=0;
        }
        if(y==1)
        {
/**************found**************/
             d=a - i;                          //错哪里?  这个地方的错误已经是很明显的了
             for(j=2;j<=sqrt((double)d);j++)//这个循环跟上面的循环,作用相同
             {
                if(d%j==0)  
                {
                    y=0;
                    break;//这个地方如楼上所说,加个break是最好了
                }
             }
             if(y==1)
             {  
                 *b=i;  
                 *c=d;
                 return 1;
             }
        }
   }
   return 0;
}
main()
{  
    int  a,b,c;
    int temp = 0;
    do
    {
        printf("\nInput a:  ");  scanf("%d",&a);
    }
    while(a%2);//这句话是必须输入的a是偶数,不然请重新输入
    temp = fun(a,&b,&c);
    if(temp)
    {
        printf("\n\n%d = %d + %d\n",a,b,c);
    }
    else
    {
        printf("\rThis isn\'t exist!\n");
    }
}

楼主,加油!
2012-08-12 10:22
快速回复:困扰我好久了,,,大伙帮忙
数据加载中...
 
   



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

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