注册 登录
编程论坛 C++教室

有关函数调用的问题

c12138 发布于 2014-11-07 23:57, 740 次点击
为了弄这个哥德巴赫猜想,这么晚了,不能睡觉,也是醉了
那么问题来了,我为什么函数调用不起啊?大神快来解救我,我想睡觉啊


#include
void guess(int n);
int isprime1(int n);
int isprime2(int n);
int main()
{
    int i,x,c;
    printf("请输入任意一个大于4的偶数:\n");           //i=8
    scanf("%d",&i);
    c=i-x;               //c=8-x
    if ( isprime2(x) == 2&& isprime1(c) == 1)
        printf("%d=%d+%d",i,x,c);
    return 0;
}
//输入一个大于4的偶数i
void guess(int n)
{
    int i;
    printf("请输入任意一个大于4的偶数:\n");
    scanf("%d",&i);//i=8
    for(i=4;i<=100;i++)
        guess(i);
   
}
//是否为质数的定义
int isprime1(int n)
{
    int c;
    if (c<2)
        return 0;
    for (c=2;c<N;C++)
    {
        if (n%c==0)
            return 0;
    }
return 1;
}


int isprime2(int n)
{
int x;
    if (x<2)
        return 0;
    for (x=2;x<N;X++)
    {
        if (n%x==0)
            return 0;
    }
    return 2;

}


10 回复
#2
stop12042014-11-08 07:59
你编译就已经不通过了吧.
大小写区分注意
for (c=2;c<N;C++)
for (x=2;x<N;X++)
你的两个for循环的大小写
#3
c121382014-11-08 08:32
回复 2 楼 stop1204
编译通过了的,还有为什么要大写啊,我用大写编译就报错
#4
c121382014-11-08 08:34
回复 2 楼 stop1204
我看见了  ,原来是我发的贴里面是大写,我实际用的是小写
#5
c121382014-11-08 08:46
只有本站会员才能查看附件,请 登录
这是编译过后的图
#6
c121382014-11-08 09:10
如果我把isprime2(x) == 2&& isprime1(c) == 1改为isprime2(x) == 0&& isprime1(c) == 0,就会输出8=随机数+随机数,是不是我的返回值没有弄对?
#7
stop12042014-11-08 11:22
没问题啊?
程序代码:
#include "stdio.h"
#include "stdlib.h"
void guess(int n);
int isprime1(int n);
int isprime2(int n);
int main()
{
    int i, x, c;
    printf("请输入任意一个大于4的偶数:\n");           //i=8
    scanf("%d", &i);
    c = i - x;           //c=8-x

    if ( isprime2(x) == 2 && isprime1(c) == 1)
        printf("%d=%d+%d", i, x, c);
    system("pause");
    return 0;
}
//输入一个大于4的偶数i
void guess(int n)
{
    int i;
    printf("请输入任意一个大于4的偶数:\n");
    scanf("%d", &i); //i=8
    for (i = 4; i <= 100; i++)
        guess(i);

}
//是否为质数的定义
int isprime1(int n)
{
    int c;
    if (c < 2)
        return 0;
    for (c = 2; c < n; c++)
    {
        if (n % c == 0)
            return 0;
    }
    return 1;
}


int isprime2(int n)
{
    int x;
    if (x < 2)
        return 0;
    for (x = 2; x < n; x++)
    {
        if (n % x == 0)
            return 0;
    }
    return 2;

}
#8
c121382014-11-08 13:34
回复 7 楼 stop1204
只有本站会员才能查看附件,请 登录
按你的程序   编译过后就是这样了
#9
c121382014-11-08 20:09
搞定了   
#10
stop12042014-11-08 22:35
回复 9 楼 c12138
没问题吧?
#11
c121382014-11-09 08:22
回复 10 楼 stop1204
现在没问题了
1