#include
int main()
{
int n,i,sum=0,max,min;
int a[n];
scanf("%d",&n);
printf("\n");
for(i=0;i scanf("%d",a[i]);
max=min=a[0];
for(i=0;i {
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
sum=sum+a[i];
}
printf("%d",max);
printf("%d",min);
printf("%d",sum);
return 0;
黑猫白猫,抓住耗子就是好猫。
用函数的好处是,定义一遍,可以在很多地方调用,如果有调整就调整函数本身就行
你这在main里使用一次的情况,就无所谓了
希望对你有帮助
看了一下,主要有两个问题(代码不完整,也可能还有其他错误):
1.定义int a[n]是不对的,不能定义未知长度的数组
2.scanf("%d",a[i]);应该写成scanf("%d",&a[i]);
建议今后提问将代码使用“代码片”格式加入提问描述,同时请尽量给出一套发生错误的例子,比如输入了什么结果返回了什么错误的值。
我用的也是这样的方法,但是结果是对的。所以你的这个代码,主要的问题出在了不规范。首先你定义数组的时候是不对的,可能你这样写,是想定义一个动态数组,但是这样不对。其实我就是定义了一个静态的10000的数组,测评系统也给通过了。其次,你的scanf用的不对,输入的数据没有保存正确。另外一点,我觉得你的sum定义的类型不对,因为n和每个整数的范围已经给出,证明sum的最大值可能是100000000,所以,最好不要用int定义。
追问一句,关键是这样运行时不对,我想知道为什么?