请大佬看看哪有问题,得不出最大值
#include<stdio.h>int main(void)
{
int max=0;
int i;
int arr={22,11,19,26,15};
for(i=0;i<5;i++)
{
if(arr>arr)
max=arr;
else
max=arr;
}
printf("%d\n",max);
return 0;
} 这代码不仅涉及越界的问题,而且逻辑也不对
max应当单独存放,然后所有数都与其比较
你这max随时在运动,最终肯定不是结果值 arr=
max=arr
for x in arr: #这里就用c的遍历数组就可以了
if x>max:
max=x
print(max)
楼上用的是Python,这里提供一种C语言解法:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int max=0;
int i;
int arr={22,11,19,26,15};
for (i=0;i<=4;i++)
{
if (arr > max)
{
max = arr;
}
}
printf("%d",max);
return 0;
} #include <stdio.h>
int main(void){
int arr[] = { 22, 11, 19, 26, 15 }, max = 0;
for(int i = 0; i < 5; i++) // 循环一遍
if(arr > max) // 发现比 max 大的值
max = arr; // 更新 max 值
printf("max = %d", max); // 打印
return 0;
}
页:
[1]