c语言求数组的和
Ⅰ c语言数组怎样求和,
先获取数组长度,然后用for循环,从数组中获取值进行累加求和。
#include
#include
int main()
{
int n;
int val;
int * a;
int sun = 0, i;
printf("请输入数组的长度:");
scanf("%d", &n);
printf(" ");
a = (int *)malloc(n * sizeof(int));//为数组a动态分配内存
for(i = 0; i < n; i++)
{
printf("请输入数组的第%d个元素的值:", i+1);
scanf("%d", &val);
printf(" ");
a[i] = val;
}
for (i = 0; i < n; i++)
{
sun+=a[i];//sun+=a[i]相当于sun=sun+a[i];
}
printf("sun = %d ",sun);
free(a);//释放a动态分配的内存
return 0;
}
(1)c语言求数组的和扩展阅读:
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
如果要用户输入的是一个数组,一般是用一个循环,但是在输入前也需要固定数组的大小。
compact跟变长数组没有太大的关系,也应该用不到变长数组。因为一般的传数组到函数中就是传数组的地址和元素的个数的,那只是一个提示,不是要求。
Ⅱ c语言二堆数组四行五列求每一列和,详细一点
#include <stdio.h>
int main (void)
{
int a[4][5];
int b[5];
int *p;
p=&a[0][0];
//输入四行五列的20个数值
printf("请输入第一行的5个数值,数值间以逗号分开\n");
scanf("%d,%d,%d,%d,%d",&*p,&*(p+1),&*(p+2),&*(p+3),&*(p+4));
printf("请输入第二行的5个数值,数值间以逗号分开\n");
scanf("%d,%d,%d,%d,%d",&*(p+5),&*(p+6),&*(p+7),&*(p+8),&*(p+9));
printf("请输入第三行的5个数值,数值间以逗号分开\n");
scanf("%d,%d,%d,%d,%d",&*(p+10),&*(p+11),&*(p+12),&*(p+13),&*(p+14));
printf("请输入第四行的5个数值,数值间以逗号分开\n");
scanf("%d,%d,%d,%d,%d",&*(p+15),&*(p+16),&*(p+17),&*(p+18),&*(p+19));
//计算每一列的和,并放入数组b[4]中
b[0]= a[0][0]+a[1][0]+a[2][0]+a[3][0];
b[1]= a[0][1]+a[1][1]+a[2][1]+a[3][1];
b[2]= a[0][2]+a[1][2]+a[2][2]+a[3][2];
b[3]= a[0][3]+a[1][3]+a[2][3]+a[3][3];
b[4]= a[0][4]+a[1][4]+a[2][4]+a[3][4];
//输出数组b[4]
printf("第一列的数值为%d\n",b[0]);
printf("第二列的数值为%d\n",b[1]);
printf("第三列的数值为%d\n",b[2]);
printf("第四列的数值为%d\n",b[3]);
printf("第五列的数值为%d\n",b[4]);
return 0;
}
/*
运行结果如下:
---------------------------------------
请输入第一行的5个数值,数值间以逗号分开
12,124,253,54,43
请输入第二行的5个数值,数值间以逗号分开
1243,124,124,354,34
请输入第三行的5个数值,数值间以逗号分开
12345,423,45,67,4
请输入第四行的5个数值,数值间以逗号分开
25,564,6,4,7
第一列的数值为13625
第二列的数值为1235
第三列的数值为428
第四列的数值为479
第五列的数值为88
---------------------------------------
运行过可以用的,望采纳
*/
Ⅲ C语言中求N个数据的的和
思路:直接定义两个变量n和sum,n用于接受键盘输入,sum用于存储累加和,每次输入并累加求和。
参考代码:
#include"stdio.h"
#defineN10//宏定义N的值
intmain()
{
intn,i,sum=0;
for(i=0;i<N;i++){
scanf("%d",&n);
sum+=n;
}
printf("求和为:%d ",sum);
}
/*
运行结果:输入N个数求和
8734192056
求和为:45
*/