gpt4 book ai didi

计算 C 数组( vector )中数字的出现次数

转载 作者:行者123 更新时间:2023-11-30 14:25:07 27 4
gpt4 key购买 nike

我正在尝试用 C 中的 vector (数组)实现以下问题的解决方案。我想输入一个数字和它出现的次数。

这是一个示例:

Imput n:  5

Imput num 1: 8
Imput num 2: 9
Imput num 3: 8
Imput num 4: 5
Imput num 5: 5

程序现在将显示:

Number 8: 2 occurences
Number 9: 1 occurences
Number 5: 2 occurences

但我的显示:

Number 8: 2 occurences
Number 9: 1 occurences
Number 8: 2 occurences
Number 5: 2 occurences
Number 5: 2 occurences

我该怎么办??? TY

#include <stdio.h>
#include <stdlib.h>
#define SIZE 20

int main ()
{
int vett1[SIZE], vett2[SIZE];
int n, i, j;
int flag;

printf ("Imput n: ");
scanf ("%d", &n);

for (i=0; i<n; i++)
{
printf ("Imput %d di %d: ", i+1, n);
scanf ("%d", &vett1[i]);
}

printf ("\n\nYour vector: : ");

for (i=0; i<n; i++)
{
printf ("%d ", vett1[i]);
}

for (i=0; i<n; i++)
{
flag=0;

for (j=0; j<n; j++)
{
if (vett1[j] == vett1[i])
{
flag++;
}
}

vett2[i] = flag;
}

printf ("\n\n");

for (i=0; i<n; i++)
{
printf ("Number %d: %d occurencese\n", vett1[i], vett2[i]);
}

return 0;
}

最佳答案

您需要一种方法来跟踪 (1) 数字和 (2) 出现的次数。像这样思考:如果你用铅笔和纸手工完成,而不是使用计算机,你会怎么做?

您可能需要一张纸,上面有一个小表格,左栏中有数字,右栏中有出现的次数。然后,您将浏览这些数字(在您的例子中为 8、9、8、5、5),对于每个数字,您将检查它是否在您的表中。如果表中已存在,则将计数加一。如果表中没有,则将其另起一行,计数为 1。

现在您需要做的就是将该表实现为某种数据结构,而不是纸上的表。

关于计算 C 数组( vector )中数字的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10721458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com