程序问题,c语言求高手指点...急!!!

2024-10-27 16:38:38
推荐回答(6个)
回答1:

main()
int f[10],max,i;
for(i=0;i<10;i++)
scanf("%d“,&f[i]);
for(i=0;i<10;i++)
{max=0;
if(maxmax=f[i];
}
printf("max is%d",max);
}
把max=0提到循环前头
main()
int f[10],max,i;
for(i=0;i<10;i++)
scanf("%d“,&f[i]);
max=0;
for(i=0;i<10;i++)
{
if(maxmax=f[i];
}
printf("max is%d",max);
}

回答2:

修改后的程序如下:
你运行一下看看,看看能不能自己找到你的错误
#include
main(){
int f[10],max,i;
for(i=0;i<10;i++)
scanf("%d",&f[i]);
for(i=0;i<10;i++)
{max=0;
if(maxmax=f[i];
}
printf("max is%d",max);

}

回答3:

for(i=0;i<10;i++)
{max=0;
if(maxmax=f[i];
}
问题在这
每次循环max都先赋0了
f都是正数
所以max只能是f[9]了····
修改如下
main()
{
int f[10],max=0,i;
for(i=0;i<10;i++)
scanf("%d“,&f[i]);
for(i=0;i<10;i++)
if(maxmax=f[i];
printf("max is%d",max);
}

回答4:

1.你每次进循环都max=0; 那么得到的肯定是数组的最后一个值了。
2.注意了,最后一个应该是f[9].

回答5:

这个很明显啊,max=0这个你写在for循环里,也就是说每次执行一次for循环,max就等于0了,只要你的f[10]比0大,那么最后的结果max肯定就等于f[10],你把max=0这个放到for循环外面就对了

回答6:

把 max = 0 写在for 前面,不应该写在循环里面,否则每次进入循环都会先把max置成0