| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 326 人关注过本帖
标题:【sos】编程中遇到一个问题,高手进~!
只看楼主 加入收藏
末了。念。
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-2-21
收藏
 问题点数:0 回复次数:3 
【sos】编程中遇到一个问题,高手进~!
这是一个将输入的一个偶数写成两个素数之和的程序,,有疑问,,请往下看

  #include <stdio.h>
#include <math.h>
void fun(int a)
{
    int b,c,d;
    for(b=3;b<=a/2;b=b+2)
    {
        for(c=2;c<=sqrt(b);c++)
            if(b%c==0)
                break;
        if(c>sqrt(d))
            d=a-b;
        else
            break;
        for(c=2;c<=sqrt(d);c++)
            if(d%c==0)
                break;
        if(c>sqrt(d))
            printf("%d=%d+%d\n",a,b,d);
    }
}
main()
{
    int a;
    printf("\ninput a:\n");
    scanf("%d",&a);
    fun(a);
}


疑问:若a=20,那么输出a=3+17,,但a也等于7+13,为什么不输出这个结果, 或是说,为什么编译出来只有一个结果
搜索更多相关主题的帖子: include 
2011-02-26 13:30
末了。念。
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-2-21
收藏
得分:0 
我已经知道问题在哪了,
2011-02-26 13:41
zanzan1986
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:140
注 册:2011-2-22
收藏
得分:0 
循环中没加{},d在声明时未赋予相任的值。
2011-02-26 17:19
ping123321
Rank: 2
等 级:论坛游民
帖 子:15
专家分:23
注 册:2010-11-3
收藏
得分:0 
`````````
2011-02-26 18:22
快速回复:【sos】编程中遇到一个问题,高手进~!
数据加载中...
 
   



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

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