|
发表于 2018-11-26 09:25:46
|
显示全部楼层
你这个 有滴 基本语法都错了 还有一些 数组的小细节也有问题 参数 传值 还得再好好 学学
对了 你排序写的啥意思 我没看懂 我给你 改成 冒泡排序了 你看一下 有些地方也改了 你看看 行不行
- /*在主函数中定义一维数组int array[10],自定义以下函数:输入数组元素,
- 输出数组元素、
- 求数组元素平均值、
- 输出数组元素最大值、
- 输出数组元素最小值、
- 查找某数值元素是否存在(若存在,请输出下标)、
- 给数组元素排序,要求在主函数中对各子函数进行调用和测试。*/
- #include<stdio.h>
- void input(int *array,int n);
- void output(int array[],int n);
- void find(int array[],int n);
- void sort(int array[],int n);
- int maxnum(int array[],int n);
- int minnum(int array[],int n);
- double ave(int array[],int n);
- int main()
- {
- int array[10],n,x,y;
- double z;
- scanf("%d",&n);
- input (array,n);
- output(array,n);
- x=maxnum(array,n);
- y=minnum(array,n);
- z=ave(array,n);
- find(array,n);
- sort(array,n);
-
-
- return 0;
- }
- void input(int *array,int n)
- {
- int i;/*n为实际输入个数*/
- for(i=0;i < n;i++)
- {
- scanf("%d",&array[i]);
- }
- return;
- }
- void output(int array[],int n)
- {
- int i;
- for(i=0; i < n;i++)
- printf("%d ",array[i]);
- printf("\n");
- return;
- }
- double ave(int array[],int n)
- {
- int sum=0,i;
- double ave;
- for(i=0;i<n;i++)
- {
- sum+=array[i];
- }
- printf("average is %lf\n",ave=(double)sum/n);
- return ave;
- }
- int maxnum(int array[],int n)
- {
- int i,max;
- max=array[0];
- for(i=1;i<n;i++)
- {if(array[i]>max)
- {
- max=array[i];
- }
- }
- printf("max is %d\n",max);
- return max;
- }
- int minnum(int array[],int n)
- {
- int i,min;
- min=array[0];
- for(i=1;i<n;i++)
- {
- if(array[i]<min)
- {min=array[i];
- }
- }
- printf("min is %d\n",min);
- return min;
- }
- void find(int array[],int n)
- {
- int i,x,t=0;
- printf("请输入查找值: ");
- scanf("%d",&x);
- for(i=0;i<n;i++)
- {
- if(array[i] == x)
- {
- t = i;
- printf("数组下标为%d\n",t);
- break;
- }
- }
- if(array[i] != x)
- printf("无法查到\n");
-
- }
- void sort(int array[],int n)
- {
- int i,j;
- int temp;
- for(i = 0; i < n; i++)
- {
- for(j = 0; j <n-1-i; j++)
- {
- if(array[j] > array[j+1])
- {
- temp = array[j];
- array[j] = array[j+1];
- array[j+1] = temp;
- }
- }
-
- }
- printf("从小到大排序为:");
- for(i=0;i<n;i++)
- printf(" %d",array[i]);
- putchar('\n');
- return;
- }
复制代码 |
-
|