菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
52
0

创建一个函数,将和有n个元素的数组中的key相等的所有元素的下标存储在另一数组中,并返回和key元素相同的元素的个数。

原创
05/13 14:22
阅读数 21272

 

创建一个函数,将和有n个元素的数组中的key相等的所有元素的下标存储在另一个数组中,并返回和key元素相同的元素的个数。

1、数组元素的查找

#include <stdio.h>

#define NUMBER 10

int func1(const int x[], int y[], int z, int p)
{
    int i = 0;
    int j = 0;
    while (i < p)
    {
        if (x[i] == z)
        {
            y[j] = i;
            j++;
        }
        i++;
    }
    return j;
}

int main(void)
{
    int i, num, key,a[NUMBER], b[NUMBER];
    puts("please input the elements.");
    for (i = 0; i < NUMBER; i++)
    {
        printf("a[%d]: ", i); scanf("%d", &a[i]);
    }
    printf("the target element: "); scanf("%d", &key);
    
    num = func1(a, b, key, NUMBER);
    for (i = 0; i < num; i++)
    {
        printf("b[%d] = %d\n", i, b[i]);
    }
    printf("the number of target element: %d\n", num);
    return 0;
}

#include <stdio.h>

#define NUMBER 7
int search(const int v[], int idx[], int key, int n)
{
    int i = 0, j = 0;
    while (i < n)
    {
        if (v[i] == key)
        {
            idx[j] = i;
            j++;
        }
        i++;
    }
    printf("{");
    for (i = 0; i < j; i++)
    {
        printf("%d ", idx[i]);
    }
    printf("}\n");
    printf("the number is %d\n", j);    
}

int main(void)
{
    int i, nu, a[NUMBER], b[NUMBER];
    puts("please input the elements.");
    for (i = 0; i < NUMBER; i++)
    {
        printf("a[%d] = ", i); scanf("%d", &a[i]);
    }
    printf("nu = "); scanf("%d", &nu);
    search(a, b, nu, NUMBER );
    return 0;
}

 

发表评论

0/200
52 点赞
0 评论
收藏
为你推荐 换一批