提交记录 #418
提交时间:2024-12-03 20:26:53
语言:c
状态:CompileError
编译情况:编译错误
code.c:88:5: error: redefinition of ‘isPrim’
88 | int isPrim(int x) {
| ^~~~~~
code.c:32:5: note: previous definition of ‘isPrim’ was here
32 | int isPrim(int x)
| ^~~~~~
固定测试点暂不可用
附加测试点暂不可用
51【大学】素数计数—用指针哦
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// 声明 isPrim 函数
int isPrim(int x);
int * input(int n) {
// 申请存储n个整数的空间
int *p = (int *)malloc(n * sizeof(int));
if (p == NULL) {
printf("Memory allocation failed\n");
exit(1);
}
// 读入n个整数保存在该空间中
for (int i = 0; i < n; i++) {
scanf("%d", &p[i]);
}
return p;
}
int PrimCount(int *p, int n) {
int count = 0;
// 统计指针p所指空间中素数的数量
for (int i = 0; i < n; i++) {
if (isPrim(p[i])) {
count++;
}
}
return count;
}
int isPrim(int x) {
if (x == 2) return 1; // 是素数,返回1
if (x <= 1 || x % 2 == 0) return 0; // 不是素数,返回0
for (int i = 3; i <= sqrt(x); i += 2) {
if (x % i == 0) return 0; // 不是素数,返回0
}
return 1; // 是素数,返回1
}