子程序的运用

我今天专门编写了一个素数的子程序,来尝试一下,但出现了一个错误

今天没照出来,明天慢慢找,先记在这里



prime (int number)
    {
        int i,j;
        if (number%2 == 0)  return (0);
        j = sqrt((double)number) + 1;


        for (i = 3;i <= j;i += 2)
            if (number % i == 0 ) return (0);
        return (1);


    }

这是我的素数子程序     prime.c

#include <stdio.h>
#include <math.h>
main()
{
    int i,count;
    printf ("There are invertable primes with 4 digits :\n");
    for (count = 0,i = 1001;i < 9999;i += 2)
        if ( num(i) )
            printf (count%9 ? "%3d:%d" : "%3d:%d\n", ++count,i);




}
num(int number)
{
    int i,j;
    if (!prime(number))  return(0);
    for (i = number,j = 0;i > 0;i /= 10)
        j = j*10 + i%10;
    if (number < j)
        if (!prime(j))  return (0);
        else return (1);
    else return (0);
}
这是我的主程序       32.c

然后我用 [root@localhost 31-35]# gcc 32.c prime.c -o 32
prime.c: 在函数 ‘prime’ 中:
prime.c:6: 警告:隐式声明与内建函数 ‘sqrt’ 不兼容
/tmp/ccqvxqyT.o: In function `prime':
prime.c:(.text+0x0): multiple definition of `prime'
/tmp/ccsfXK0A.o:32.c:(.text+0x18d): first defined here
/tmp/ccsfXK0A.o: In function `prime':
32.c:(.text+0x1c7): undefined reference to `sqrt'
/tmp/ccqvxqyT.o: In function `prime':
prime.c:(.text+0x3a): undefined reference to `sqrt'
collect2: ld 返回 1


[root@localhost 31-35]# ./32
bash: ./32: 没有那个文件或目录


                         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值