子程序的运用

xiaoxiao2021-02-27  278

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

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

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 ? "=:%d" : "=:%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;     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: 没有那个文件或目录

                         

转载请注明原文地址: https://www.6miu.com/read-10780.html

最新回复(0)