📌  相关文章
📜  国际空间研究组织 | ISRO CS 2017 |问题 23(1)

📅  最后修改于: 2023-12-03 15:37:15.587000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2017 |问题 23

本题要求编写一个程序,用于从一个数组中查找元素出现的次数。程序需要实现以下两个函数:

函数 1:int findOccurrences(int arr[], int n, int x)

  • 参数说明:
    • arr:表示要搜索的数组。
    • n:表示数组中元素的数量。
    • x:表示要查找的元素。
  • 返回类型:int。
  • 功能:查找 x 在 arr 中出现的次数,并返回次数。

函数 2:void testFindOccurrences()

  • 参数说明:无。
  • 返回类型:无。
  • 功能:用于测试 findOccurrences 函数。

下面是完整的程序代码(包括 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.
总结

本题提供了一个简单的程序实现要求,在实现程序时需要注意参数的类型和变量的定义,同时通过测试函数可以检查程序的正确性,避免出现不必要的错误。