📅  最后修改于: 2023-12-03 15:37:15.587000             🧑  作者: Mango
本题要求编写一个程序,用于从一个数组中查找元素出现的次数。程序需要实现以下两个函数:
函数 1:int findOccurrences(int arr[], int n, int x)
函数 2:void testFindOccurrences()
下面是完整的程序代码(包括 main 函数):
#include <stdio.h>
int findOccurrences(int arr[], int n, int x);
void testFindOccurrences();
int main()
{
testFindOccurrences();
return 0;
}
int findOccurrences(int arr[], int n, int x)
{
int count = 0;
for (int i = 0; i < n; i++) {
if (arr[i] == x) {
count++;
}
}
return count;
}
void testFindOccurrences()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 6, 5, 8, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int x = 5;
int count = findOccurrences(arr, n, x);
printf("The number %d appears %d times in the array.\n", x, count);
}
本题需要查找给定元素在数组中出现的次数,可以使用循环遍历整个数组,每次找到该元素就将计数器累加 1。最后返回计数器的值即为该元素出现的次数。
int findOccurrences(int arr[], int n, int x);
void testFindOccurrences();
因为 testFindOccurrences 函数调用了 findOccurrences 函数,所以在 testFindOccurrences 函数调用前,需要在代码中先定义该函数。
int findOccurrences(int arr[], int n, int x)
{
int count = 0;
for (int i = 0; i < n; i++) {
if (arr[i] == x) {
count++;
}
}
return count;
}
该函数实现了查找给定元素在数组中出现的次数的功能。通过一个循环遍历整个数组,每次找到该元素就将计数器累加 1。最后返回计数器的值即为该元素出现的次数。
void testFindOccurrences()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 6, 5, 8, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int x = 5;
int count = findOccurrences(arr, n, x);
printf("The number %d appears %d times in the array.\n", x, count);
}
该函数用于测试 findOccurrences 函数。在该函数中,定义一个含有重复元素的数组,然后调用 findOccurrences 函数查找其中一个元素的出现次数,并把结果打印到屏幕上。
测试结果如下:
The number 5 appears 4 times in the array.
本题提供了一个简单的程序实现要求,在实现程序时需要注意参数的类型和变量的定义,同时通过测试函数可以检查程序的正确性,避免出现不必要的错误。