试图获得最大的数字

时间:2016-01-14 18:59:43

标签: c

我试图从int数组中获得最大数字,但它对我来说效果不佳。

for (c = 0; c < 26; c++)
    {
        printf("%c occurs %d times in the entered string.\n",c+'a',count[c]);
        if(count[c] > tempcount1)
            {
                temp=count[c];
            }
        tempcount1=count[c];
    }
    printf("%d",temp);
程序开始时

tempcount1设置为0。有谁知道我的代码中的问题在哪里?

1 个答案:

答案 0 :(得分:1)

问题是你正在处理两个保持最大计数的变量。与您比较的tempcount1始终更新,即使当前计数不大。

for (c = 0; c < 26; c++)
    {
        printf("%c occurs %d times in the entered string.\n",c+'a',count[c]);
        if(count[c] > tempcount1)
            {
                temp=count[c];
            }
        tempcount1=count[c];
    }
    printf("%d",temp);

建议:

int max = 0;
for (c = 0; c < 26; c++)
{
    printf("'%c' occurs %d times in the entered string.\n", c+'a', count[c]);
    if(count[c] > max)
        max = count[c];
}
printf("Max = %d\n", max);