关于数组代码

small233 2017-12-11 07:54:24
#include<stdio.h>
output(double array[10])
{
int i;
for(i=0;i<10;i++)
printf("%lf",array[i]); //输出数组的元素
return 0;
}

ave(double array[10]) //输出平均值
{int i;
double sum,average;
for(i=0;i<10;i++)
sum=array[0];
sum+=array[i];
average=sum/10;
printf("%lf",average);
return 0;
}


Max(double array[10]) //求最值
{int i;
double max;
for(i=0;i<10;i++)
max=array[0];
if(array[i]>max)
{
max=array[i];
}
printf("%lf",max);
return 0;
}


Find(double array[10]){ //判断某数是否存在
int i;
double n;
printf("input a interger:");
scanf("%lf",&n);
for(i=0;i<10;i++)
{
if(array[i]=n)
printf("%lf",array[i]);
else if
printf("error input:");
}
return 0;
}


ff(double array[10]) //s输出从新排序后的数组
{
int i,j;
double temp;
for(i=0;i<9;i++)
for(j=9;j>i;i--)
if(array[j]<array[j-1])
{
temp=array[j-1];
array[j-1]=array[j];
array[j]=temp;
}
return 0;
}



int main()
{
double array[10];

printf("input ten elements:");
scanf("%lf",&array[10]);
output(array);
ave(array);
Max(array);
Find(array);
ff(array);
return 0;
}
...全文
113 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-12-12
  • 打赏
  • 举报
回复
函数定义一个普遍问题,就是没有指明函数的返回值; 不是printf没有定义的问题,而是问题主要出在: 详见下面的代码注释
int Find(double array[10])
{   //判断某数是否存在
    int i;
    double n;
    printf("input a interger:");
    scanf("%lf",&n);
    for(i=0;i<10;i++)
    {
        if(array[i]==n)    /*判断语句不是赋值语句*/
            printf("%lf",array[i]);
        else
            printf("error input:");
    }
    return 0;
}
对比一下代码;
sky065530 2017-12-12
  • 打赏
  • 举报
回复
引用 1 楼 leetow2006 的回复:
子函数定义数组参数一般是:output(double array[],int n) 传递是把数组名和数组个数传递过去
=========================================================================== 正解,前面几个函数参数有问题,c语言里数组不能拷贝,所以传数组其实是传指针才可以。
leetow2006 2017-12-12
  • 打赏
  • 举报
回复
子函数定义数组参数一般是:output(double array[],int n) 传递是把数组名和数组个数传递过去

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧