c语言数组参数求和函数 c语言 数组求和

C语言数组怎样求和,

先获取数组长度,然后用for循环,从数组中获取值进行累加求和。

创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为铁山企业提供专业的成都网站建设、成都网站制作铁山网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

#include

#include

int main()

{

int n;

int val;

int * a;

int sun = 0, i;

printf("请输入数组的长度:");

scanf("%d", n);

printf("\n");

a = (int *)malloc(n * sizeof(int));//为数组a动态分配内存

for(i = 0; i n; i++)

{

printf("请输入数组的第%d个元素的值:", i+1);

scanf("%d", val);

printf("\n");

a[i] = val;

}

for (i = 0; i n; i++)

{

sun+=a[i];//sun+=a[i]相当于sun=sun+a[i];

}

printf("sun = %d\n",sun);

free(a);//释放a动态分配的内存

return 0;

}

扩展资料:

一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。

如果要用户输入的是一个数组,一般是用一个循环,但是在输入前也需要固定数组的大小。

compact跟变长数组没有太大的关系,也应该用不到变长数组。因为一般的传数组到函数中就是传数组的地址和元素的个数的,那只是一个提示,不是要求。

参考资料来源:百度百科-数组

C语言,数组,求和

供参考:

#include "stdio.h"

#define DIM 5

float avg(float* num,int dim)

{

float num_z=0.0;

for(int k=0;kdim;k++)

num_z=num_z+num[k];

return num_z/dim;

}

void move(float* num_big,float* num_small,float* num_s,int dim,int* j)

{

float avg_tmp=avg(num_s,dim);

for(int k=0;kdim;k++)

{

if(num_s[k]-avg_tmp0)

{

*num_big=num_s[k];

num_big++;

(*j)++;

}

else

{

*num_small=num_s[k];

num_small++;

}

}

}

float sum(float* num,int dim)

{

float num_z=0.0;

for(int k=0;kdim;k++)

num_z=num_z+num[k];

return num_z;

}

void main()

{

float number[DIM],big[DIM],small[DIM];

int i,j=0;

for(i=1;iDIM+1;i++)

{

printf("输入第%d个数据:",i);

scanf("%f",number[i-1]);

fflush(stdin);

}

printf("输入数据是:\n");

for(i=0;iDIM;i++)

{

printf("%f\n",number[i]);

}

printf("平均数是:\n%f\n",avg(number,DIM));

move(big,small,number,DIM,j);

printf("大于平均数的%d个数是:\n",j);

for(i=0;ij;i++)printf("%f\n",big[i]);

printf("不大于平均数的%d个数是:\n",DIM-j);

for(i=0;iDIM-j;i++)printf("%f\n",small[i]);

printf("总和是:\n%f\n",sum(number,DIM));

getchar();

}

C语言数组如何进行元素求和?

遍历数组,累加到和值对应的变量上即可。

代码如下:

int sum(int *a, int l)//对数组a的前l个元素求和,并返回和值。

{

int r = 0;

int i;

for(i=0;il;++i)

r+=a[i];

return r;

}

数组求和c语言

int i,n,s=0;

在一维数组a中有n个需要求和的元素;

for(i=0;in;i++)

s+=a[i];

printf("%d\n",s);

或:

int i,j,n,m,s=0;

在二维数组a中有n*m个需要求和的元素;

for(i=0;in;i++)

for(j=0;jm;j++)

s+=a[i][j];

printf("%d\n",s);

输出语句就能输出求和的结果(不发生溢出时)。

C语言定义一个求数组n个元素的和的函数

#includestdio.h

int sum_arry(int *p,int n)

{

int i = 0,sum = 0;

for(i=0;in;i++)

{

sum += *(p+i);

}

return sum;

}

int main(void)

{

int a[20];

int i = 0;

printf("请输入20个数字:\n");

for(i=0;i20;i++)

scanf("%d",a[i]);

printf("a[0]到a[5]的和为:%d\n",sum_arry(a[0],6));

printf("a[3]到a[8]的和为:%d\n",sum_arry(a[3],6));

return 0;

}

C语言中用什么函数求和

如果是求两个数值的和,就很简单了,参看上面回答,如果是求数组的和应该这样:

/**功能:求数组的和

返回参数: 数组类型a,整数n代表数组中含有多少个元素

传入参数: 数组的和

*/

float g(float a[],int n)

{

float s=0;

if(n==1)

return a[1];

else if(n=0){ /*这种情况不可能发生,只是用于演示*/

printf("the code is full of errors,the programme will exit");

exit(0);

}

else {

s=a[n];

a[n]=0;

return (s+g(a,n-1));

}

}


文章标题:c语言数组参数求和函数 c语言 数组求和
标题路径:http://pwwzsj.com/article/hgijeg.html