编写两个函数int zhizhenint pint nint shuzuint arint n用于计算实参数组中元素值为素数的元素个数形参n对应的实参存储数组单元元素的个数
。
其中,zhizhen函数使用指针方式访问数组元素,shuzu函数使用数组下标方式访问数组元素。
函数定义如下:
#include <stdio.h>
int is_prime(int num) { // 判断一个数是否为素数
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int zhizhen(int *p, int n) { // 使用指针方式访问数组元素
int count = 0;
for (int i = 0; i < n; i++) {
if (is_prime(*p)) {
count++;
}
p++;
}
return count;
}
int shuzu(int ar[], int n) { // 使用数组下标方式访问数组元素
int count = 0;
for (int i = 0; i < n; i++) {
if (is_prime(ar[i])) {
count++;
}
}
return count;
}
使用示例:
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int count1 = zhizhen(arr, 10);
int count2 = shuzu(arr, 10);
printf("count1 = %d\n", count1); // 输出:count1 = 4
printf("count2 = %d\n", count2); // 输出:count2 = 4
return 0;
}
原文地址: https://www.cveoy.top/t/topic/bZVZ 著作权归作者所有。请勿转载和采集!