标题:初学者,从书上抄的!可以运行,但为什么得不到想要的结果??
取消只看楼主
Laughingsk
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-23
结帖率:0
已结贴  问题点数:2 回复次数:0 
初学者,从书上抄的!可以运行,但为什么得不到想要的结果??
题目:从键盘上输入一个大于等于6的偶数,将它表示成两个素数之和。如:6=3+2+1,8=3+5。然后我输入18,24的时候没反应,只有num=3+(另一个素数)   才能显示出来。。
#include <math.h>
#include <stdio.h>
#include <iostream>
using namespace std;
void main()
{
    int i,j,num;
    int p,q,flagp,flagq;
    std::cout<<"please input a plus integer:"<<endl;
    std::cin>>num;
    if(num%2!=0||num<=4)
        std::cout<<"dota error!please try again!"<<endl;
    else
    {
        p=1;
        do{
            p=p+1;
            q=num-p;
            flagp=1;
            flagq=1;
            
            for(i=2;i<=(int)(floor(sqrt((double)(p))));i++)
            {
                if(p%i==0);
                {
                    flagp=0;
                    break;
                }
            }
            j=2;
            while(j<=(int)(floor(sqrt((double)(q)))))
            {
                if(q%j==0)
                {
                    flagq=0;
                    break;
                }
                j++;
            }
        }
            while(flagp*flagq==0);
            std::cout<<num<<"="<<p<<"+"<<q<<endl;
    }


}
搜索更多相关主题的帖子: include please 
2013-03-23 15:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401679-1-1.html




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

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