| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1188 人关注过本帖
标题:一个判断程序题,求大神帮助解决一下
只看楼主 加入收藏
叶落根
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-8
结帖率:0
收藏
 问题点数:0 回复次数:2 
一个判断程序题,求大神帮助解决一下
这个程序其它都行,只是输入大于4的偶数是它只输出the conclusion is false,求改错
程序:int main(int argc, char *argv[])
{int goldbach(int x);
 int x,c,l,m;
 printf("if you want to end,please enter 0\n");
 for (m=1;m<100;m++)
 {printf("please enter a dualnum which overtakes 3:");
  scanf("%d",&x);
  if (x==0) {break;}
  else if(x<4||x%2!=0)
  {printf("the number is false,please aganin a dualnum\n");}
  else
  {int goldbach(int x);
        c=l;
        if (c==0) {
        printf("the conclusion is ture\n");}
        else printf("the conclusion is false\n");
  }
 }
    return 0;
}

 int goldbach(int x)
 {int goldbach;
 int b,d,p,h,j,l;
  for(b=1;b<x;b++)
  {d=x-b;
  int perime(int d),p=j;
  int perime(int b),h=j;
  l=(p+h)/2;
  if (l==0) {
  break;}
  }
  return(l);
 }
 
 
 int perime(int a)
 {int perime;
  int n;
  int j;
  j=1;
  for (n=2;n<=a-1;n++)
  if (a%n==0) {
  j=0;break;}
  if (j!=0)
  j=1;
  return(j);}
题目:上次上机课我们已实现prime函数用于判读一个数是否为素数,本次课编写goldbach函数,并调用prime函数验证哥德巴赫猜想——任何不小于4的偶数,都可表示为两个素数之和(如:4=2+2)。

要求:

1)在main函数中利用循环结构连续提示用户输入一个不小于4的偶数num,并将其作为实参传递给goldbach;若num小于4或为奇数,则输出错误信息并提示用户重新输入;若用户想退出输入,则输入0.
2)在goldbach函数中调用prime函数判断用户输入的数是否可表示为两个素数之和,若可以,则哥德巴赫猜想得证,否则,输出错误信息。
搜索更多相关主题的帖子: conclusion please number false 
2016-12-11 10:05
zhangyuzheon
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-5
收藏
得分:0 
这个是改过的代码
int main(int argc, char *argv[])
{int goldbach(int x);
 int x,c,l,m;
 printf("if you want to end,please enter 0\n");
//无限次数直到输入零为止
 for (m=1;;m++)
 {printf("please enter a dualnum which overtakes 3:");
  scanf("%d",&x);
  if (x==0) {break;}
  else if(x<4||x%2!=0)
  {printf("the number is false,please aganin a dualnum\n");}
  else
  //****************************************************************
  {c= goldbach(x);
        //******c=l;
       //****************
        if (!(c==0)) {
        printf("the conclusion is ture\n");}
        else printf("the conclusion is false\n");
  }
 }
    return 0;
}

 int goldbach(int x)
 {int goldbach;
 int b,d,p,h,j,l;
  for(b=1;b<x;b++)
  {d=x-b;
  //*********************************
  j=perime(d),p=j;
  j= perime(b),h=j;
  l=(p+h)/2;
  //************************
  if (l==1) {
  break;}
  }
  return(l);
 }
 
 
 int perime(int a)
 {//********************int perime;
  int n;
  int j;
  j=1;
  for (n=2;n<=a-1;n++)
  if (a%n==0) {
  j=0;break;}
  //***************if (j!=0)
  //***************j=1;
  return(j);}


你看看吧
2016-12-11 10:47
zhangyuzheon
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-8-5
收藏
得分:0 
我在改动的地方加了*号你可以看看,还有对于这个哥德巴赫猜想我给你看一下我写的吧
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
    int i,j,f;
    int    prime_number(int );
    for(;;)
    {  do
    {
        printf("请输入一个大于等于4的整数(输入0停止程序):");
        scanf("%d",&i);
    }
    while(i<4||(i%2!=0));
    if(i==0) exit(0);
    f=0;
       for(j=2;j<=i/2;j++) if(prime_number(j)&&prime_number(i-j)) {f=1;break;}
       if(f==0){printf("sorry it doesn't right");break;}
       else printf("YES it's right\n");
    }

}

int    prime_number(int a)
{
    int i;
    for(i=2;i<=sqrt(a);i++) if(a%i==0)return 0;
    return 1;
}
2016-12-11 10:56
快速回复:一个判断程序题,求大神帮助解决一下
数据加载中...
 
   



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

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