如何在数组中找到匹配的值并将其存储在新数组中?

马里诺

我可以在数组中找到重复的值,但是当我有两组以上的重复值时,程序将卡住。

因此,例如,如果我输入以下内容:

10 1 2 3 4 5 10 10 10 10 10

(请注意,第一个数字[10]表示数组中有多少个数字,并且假定所有数字将按升序排列)

我得到正确的分数输出

Run {10,10,10,10,10} scoring 50.

(runCount(5)* runNumber(10)= 50)

例如,如果数组中有两个以上的重复元素,则-

10 5 5 5 5 5 10 10 10 10 10

分数全都糊涂了

 Run {5,10,10,10,10,5,5,5,5} scoring 45.

由于{5,5,5,5,5}的分数应低于{10,10,10,10,10},因此理想情况下,程序将打印分数最高的值。

Run {10,10,10,10,10} scoring 50.

如何使它仅使用最高值?我无法完全使break函数正常工作。

如果您有任何想法,请告诉我。我的代码如下。

我只能使用数组,循环和if / else

//Game that calculates the highest score based on array inputs

#include <stdio.h>

#define MAX_PLAYERS 13
#define TRIPLE 3

int main(void) {
int nPlayers, i, j, k;
int gameNumbers[MAX_PLAYERS];
int runCount, runCounter, runNumber, runScore;
int runScores[MAX_PLAYERS] = {0};

//read in numbers
scanf("%d", &nPlayers);
i = 0;
while (i < nPlayers) {    
    scanf("%d", &gameNumbers[i]);
    i = i + 1;
}

//Calculates Run Scores
//A run is when there are duplicates of the same number in a row
runCounter=0;
runNumber=0;
runScore=0;
j=0;
for (i=(nPlayers-1); i>=1; i--) {
    if(gameNumbers[i] - gameNumbers[i-1] == 0) {    //compares highest number to previous number to find equality
        runScores[j]=gameNumbers[i];                  
        j++;
        runCounter++;
        runCount=(runCounter+1);                          
        runNumber=(gameNumbers[i]);
        runScore=(runCount*runNumber);
    }
}

//Run Score
printf("runCounter:%d, runCount=%d, runNumber=%d, runScore=%d\n", runCounter, runCount, runNumber, runScore);
printf("runScores[]=");
i=0;
while (i<runCount) {
    printf("%d ", runScores[i]);
    i++;
}
printf("\n");

//Print run scores
printf("Run {%d", runNumber);                       
j=0;
    while (j < runCounter) {
        printf(",%d", runScores[j]);                //loop prints remainder of the stored run scores array
        j++;
        }
printf("} scoring %d.\n", runScore);


return 0;
}
蓝精灵

像这样:

#include <stdio.h>
#include <limits.h>

int main(void){
    int n;
    scanf("%d", &n);

    int numbers[n];
    for(int i = 0; i < n; ++i) {
        scanf("%d", &numbers[i]);
    }

    int hi_score = INT_MIN, dupCount = 0 , theNumber;
    for(int i = 0; i < n; ++i){
        int counter = 0, score;
        for(int j = i + 1; j < n && numbers[i] == numbers[j]; ++j){
            ++counter;
        }
        if(counter > 0){
            score = (counter + 1) * numbers[i];
            if(hi_score <= score){//= : when 4 4 4 4 4 5 5 5 5, 4 < 5
                theNumber = numbers[i];
                dupCount = counter + 1;
                hi_score = score;
            }
            i += counter;
        }
    }
    if(dupCount > 0){
        int new_array[dupCount];

        printf("Run {");
        for(int i = 0; i < dupCount; ++i){
            if(i)
                putchar(',');
            printf("%d", new_array[i] = theNumber);
        }
        printf("} scoring %d.\n", hi_score);
    }

    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在数组中找到值存在的哈希数组?

来自分类Dev

如何在数组中找到匹配的单词

来自分类Dev

如何在文件中找到特定值并将其存储到bash脚本中的变量中?

来自分类Dev

如何在数组中找到值的行数?

来自分类Dev

如何在数组中找到最大值

来自分类Dev

如何在数组中找到一个值?

来自分类Dev

如何在javascript中更改数组内部的元素并将其存储在新数组中

来自分类Dev

如何获取输入字段的值并将其存储在数组中

来自分类Dev

如何在Elasticsearch中找到存储在数组变量中的项目总数

来自分类Dev

如何在二维数组中找到匹配的值

来自分类Dev

如何在数组中的对象内部的数组中添加2个值并将其显示在字段外部?

来自分类Dev

在文件中找到一个单词并将其存储在数组列表中,并确保该单词没有被多次使用?

来自分类Dev

如何遍历数组并将其值存储在Laravel中

来自分类Dev

在数组中找到匹配的值并进行计数

来自分类Dev

如何在数组数组中找到频繁项

来自分类Dev

将值转换为二进制值并将其存储在数组中

来自分类Dev

将值转换为二进制值并将其存储在数组中

来自分类Dev

如果“ item_id”匹配,如何添加“ item_qty”,并将新结果存储在数组中?

来自分类Dev

如何在数组中找到与用户输入匹配的项?jQuery的

来自分类Dev

读取输入并将其存储在数组中的问题

来自分类Dev

查找除数并将其存储在数组中

来自分类Dev

读取输入并将其存储在数组中的问题

来自分类Dev

以整数/ string取输入并将其存储在数组中

来自分类Dev

如何在numpy中的3d数组中找到最小值和最大值,并将结果分组?

来自分类Dev

Codeigniter:如何从数组中获取数据并将其存储在数据库中

来自分类Dev

如何在数组中存储鼠标移动位置值?

来自分类Dev

如何在数组中存储多个值并显示它们

来自分类Dev

如何在数组中存储多个值

来自分类Dev

如何在数组中存储SqlDataReader的值?

Related 相关文章

  1. 1

    如何在数组中找到值存在的哈希数组?

  2. 2

    如何在数组中找到匹配的单词

  3. 3

    如何在文件中找到特定值并将其存储到bash脚本中的变量中?

  4. 4

    如何在数组中找到值的行数?

  5. 5

    如何在数组中找到最大值

  6. 6

    如何在数组中找到一个值?

  7. 7

    如何在javascript中更改数组内部的元素并将其存储在新数组中

  8. 8

    如何获取输入字段的值并将其存储在数组中

  9. 9

    如何在Elasticsearch中找到存储在数组变量中的项目总数

  10. 10

    如何在二维数组中找到匹配的值

  11. 11

    如何在数组中的对象内部的数组中添加2个值并将其显示在字段外部?

  12. 12

    在文件中找到一个单词并将其存储在数组列表中,并确保该单词没有被多次使用?

  13. 13

    如何遍历数组并将其值存储在Laravel中

  14. 14

    在数组中找到匹配的值并进行计数

  15. 15

    如何在数组数组中找到频繁项

  16. 16

    将值转换为二进制值并将其存储在数组中

  17. 17

    将值转换为二进制值并将其存储在数组中

  18. 18

    如果“ item_id”匹配,如何添加“ item_qty”,并将新结果存储在数组中?

  19. 19

    如何在数组中找到与用户输入匹配的项?jQuery的

  20. 20

    读取输入并将其存储在数组中的问题

  21. 21

    查找除数并将其存储在数组中

  22. 22

    读取输入并将其存储在数组中的问题

  23. 23

    以整数/ string取输入并将其存储在数组中

  24. 24

    如何在numpy中的3d数组中找到最小值和最大值,并将结果分组?

  25. 25

    Codeigniter:如何从数组中获取数据并将其存储在数据库中

  26. 26

    如何在数组中存储鼠标移动位置值?

  27. 27

    如何在数组中存储多个值并显示它们

  28. 28

    如何在数组中存储多个值

  29. 29

    如何在数组中存储SqlDataReader的值?

热门标签

归档