有没有大佬知道这个代码怎么编啊,急救,直接帮我打出来吧,谢谢!!!

如题所述

C语言代码如下:

运行结果如下:

输入一行数字后,先输出了num数组及每个数字出现的次数

然后输入12,正确输出了其在数组中出现了3次,望采纳~

附源码:

#include <stdio.h>

int str_to_int(char *s) {

    int num = 0;

    while (*s != '\0') {

        num = num * 10 + (*s - '0');

        s++;

    }

    return num;

}

int find_int_in_array(int arr[], int l, int n) {

    int i;

    for (i = 0; i < l; i++) {

        if (arr[i] == n)

            return i;

    }

    return -1;

}

int main() {

    char s[15];

    int num[100], count[100], l = 0, n, idx;

    while (scanf("%s", s)) {

        n = str_to_int(s);

        idx = find_int_in_array(num, l, n);

        if (idx == -1) { // n在数组中第一次出现

            num[l] = n;

            count[l] = 1;

            l++;

        }

        else // n在数组中重复出现

            count[idx]++; // 统计其出现次数

        if (getchar() == '\n') // 最后一个数和回车之间不能有空格

            break;

    }

    for (idx = 0; idx < l; idx++) {

        printf("%d %d\n", num[idx], count[idx]);

    }

    scanf("%d", &n);

    idx = find_int_in_array(num, l, n);

    if (idx == -1)

        printf("%d不存在\n", n);

    else

        printf("%d出现了%d次\n", n, count[idx]);

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-11-29
这也太简单了吧,你直接百度,复制粘贴多的很,改改小参数就行了
相似回答