编程计算数组各元素的平方和,要求如下
(1)void array_input(int array[], int n)的功能是:输入整型数组array的各元素值,参数n是数组元素的个数;
(2) int square_sum(int array[], int n)的功能是:对整型数组array的各元素的平方求和,参数n是数组元素的个数;
(3)主函数的功能:定义一个是长度为6的整型数组,通过调用array_input()输入各元素的值,再调用square_sum()得到各元素平方和,最后输出结果;
(4)主函数在前,上述两个函数在后面定义。
#include<stdio.h>
void array_input(double array[], int n);
void select_sort(double array[], int n);
double median(double array[], int n);
int main()
{
double y,a[8];
array_input(a,8);
select_sort(a,8);
y=median(a,8);
printf("数组d各元素的中位数:%f\n",y);
return 0;
}
void array_input(double array[], int n)
{
puts("请输入duble型数组的8个元素:");
for(int i=0;i<n;i++)
scanf("%f",&array[i]);
}
void select_sort(double array[], int n)
{
int i,j;
double t;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(array[i]>array[i+1])
{t=array[i];array[i]=array[i+1];array[i+1]=t;}
}
double median(double array[], int n)
{
double x;
if(n%2==0)
x=(array[n/2]+array[n/2-1])/2.0;
else
x=array[n/2];
return x;
}
我哪里错了,大神们求解
题目搞错了
编程求数组各元素的中位数,要求如下:
(1)void array_input(double array[], int n)的功能是:输入double型数组array的各元素值,参数n是数组元素的个数;
(2)void select_sort(double array[], int n)函数实现从小到大选择排序功能,参数n是数组元素的个数;
(3)double median(double array[], int n)的功能是:求出有序数组array各元素的中位数,参数n是数组元素的个数;
(说明:中位数就是在已排序的各元素中,处于中间位置的元素值:当数组元素个数为奇数时,处于中间位置的元素只有一个,中位数就是该元素的值;当数组元素个数为偶数时,处于中间位置的元素只有两个,中位数就是这两个元素的简单算术平均数)
(4)主函数的功能:定义一个是长度为8的double型数组,通过调用array_input()输入各元素的值,再调用select_sort()对数组各元素排序,之后调用median()得到中位数,最后输出结果;(5)主函数在前,上述三个函数在后面定义。
楼主的程序好像不是按照要求来写的哦,
下面是按照楼主题目要求写的程序,楼主可以看一下,
#include<stdio.h>
void array_input(int array[], int n);int square_sum(int array[], int n);
int main()
{
int y,a[8];
array_input(a,8);
y=square_sum(a,8);
printf("数组中各元素的平方和:%d\n",y);
return 0;
}
void array_input(int array[], int n)
{
printf("请输入int型数组的%d个元素:",n);
for(int i=0;i<n;i++)
{
scanf("%d",&array[i]);
}
}
int square_sum(int array[],int n)
{
int sum=0;
int b;
for (int i=0;i<n;i++)
{
b=array[i]*array[i];
sum+=b;
}
return sum;
}
楼主,这个是对你的补充问题的回答肆滚缺……
问题在于输入数裂辩据的类型和对数组的排序错误;
下面是已经调试通过的程序,楼主可以看一下
#include<stdio.h>
void array_input(double array[], int n);
void select_sort(double array[], int n);
double median(double array[], int n);
int main()
{
double y,a[8];
array_input(a,8);
select_sort(a,8);
y=median(a,8);
printf("数组备友中各元素的中位数:%lf\n",y);
return 0;
}
void array_input(double array[], int n)
{
printf("请输入duble型数组的%d个元素:",n);
for(int i=0;i<n;i++)
{
scanf("%lf",&array[i]);
}
}
void select_sort(double array[], int n)
{
int i,j;
double t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1;j++)
{
if(array[j]>array[j+1])
{
t=array[j];
array[j]=array[j+1];
array[j+1]=t;
}
}
}
}
double median(double array[], int n)
{
double x;
if(n%2==0)
x=(array[n/2]+array[n/2-1])/2.0;
else
x=array[n/2];
return x;
}
希望可以帮到你。