我试图从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。有谁知道我的代码中的问题在哪里?
答案 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);