gpt4 book ai didi

c - 在 C 程序中,计算 NxM 数组中数字 0 到 9 的出现次数。我的计算数字的数量而不是单个数字计数?

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:38 24 4
gpt4 key购买 nike

第一部分定义了所需的数组和变量:i 指行,j 指列,k 指中的元素存储数字计数的数组,l 指的是被测试的数字,cd 是数组大小的用户条目。

#include <stdio.h>
int main(void) {
int i, j, k, l;
int c, d;
printf("This program counts occurrences of digits 0 through 9 in an NxM array.\n");
printf("Enter the size of the array (Row Column): ");

这里的数组是按照用户指定的方式创建的。

    scanf("%d %d", &c, &d);
int charlesbarkley[c - 1][d - 1];
int javariparker[9];
for (j = 1; j <= d; j++) {
printf("Enter row #%d #'s", j);

for (i = 0; i < c; i++) {
scanf("%d", &charlesbarkley[i][j - 1]);
}
}

这里有四个嵌套的 for 循环,设计用于访问数组的每个元素 (charlesbarkely[i][j]),针对数字 0 - 9 递增地测试该元素 ( l++),然后在每次用户定义的数组元素等于增量值时递增单个数组元素(由 javariparker[k] 指定,k 然后递增) l 从 0 开始。

    for (k = 0; k <= 9; k++) {
for (j = 0; j < d; j++) {
for (i = 0; i < c; i++) {
for (l = 0; l <= 9; l++) {
if (charlesbarkley[i][j] != l)
javariparker[k] = javariparker[k];
else
javariparker[k] = (javariparker[k] + 1);
}
}
}
}

在这里,我尝试打印带有数字计数 (0 - 9) 的数组,但是如果我的数组类似于 5x5,它只会向我吐出 25 10 次,所以它会检查每个元素的每个数字每次只检查每个元素的一个数字,我如何让它像我想要的那样工作,或者我会走到死胡同吗?

    for (k = 0; k <= 9; k++) {
printf("%d", javariparker[k]);
}
}

最佳答案

您正在越界访问数组。如果您声明一个类似于 int a[n]; 的数组,则有效索引为 0 ... n-1

使用未初始化的计数器变量也会调用未定义的行为,您应该使用 int javariparker[10]={0}; 初始化它们:

您也不需要第四个循环来计算出现次数。

这应该有效:

#include <stdio.h>
int main(void)
{
int i, j, k, l;
int c, d;

printf("This program counts occurrences of digits 0 through 9 in an NxM array.\n");
printf("Enter the size of the array (Row Column): ");

scanf("%d %d", &c, &d);
int charlesbarkley[c][d];
int javariparker[10]={0};

for(j=0;j<d;j++)
{
printf("Enter row #%d #'s", j+1);

for(i=0;i<c;i++)
{
scanf("%d",&charlesbarkley[i][j]);
}
}

for(k=0;k<=9;k++)
{
for(j=0;j<d;j++)
{
for(i=0;i<c;i++)
{
if(charlesbarkley[i][j]==k)
javariparker[k]++;
}
}
}

for(k=0;k<=9;k++)
{
printf("%d ",javariparker[k]);
}

return 0;
}

关于c - 在 C 程序中,计算 NxM 数组中数字 0 到 9 的出现次数。我的计算数字的数量而不是单个数字计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52822890/

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