C语言数组怎样求和,
先获取数组长度,然后用for循环,从数组中获取值进行累加求和。
#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语言
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语言 输入一个m*n整形的二维数组,对其每行求和,和单独存放在一个一维数组中?
#include stdio.h
#define M 3
#define N 4
int main() {
int i,j,a[M][N],b[M] = {0};
printf(“输入 %d 个整数(空格隔开):\n\n”,M * N);
for(i = 0; i M; ++i)
for(j = 0; j N; ++j)
scanf(“%d”,a[i][j]);
for(i = 0; i M; ++i)
for(j = 0; j N; ++j)
b[i] += a[i][j];
printf(“\n\n各行的和为:\n”);
for(i = 0; i M; ++i)
printf(“%d “,b[i]);
printf(“\n”);
return 0;
}
用C语言编一个程序求一个二维数组各行数求和
#include stdio.h
int main()
{
int a[5][5] = {{0, 1, 2, 3, 4}, {1, 2, 3, 4, 5}, {2, 3, 4, 5, 6}, {3, 4, 5, 6, 7}, {4, 5, 6, 7, 8}};
for (int i = 0; i 5; ++i)
{
int sum = 0;
for (int j = 0; j 5; ++j)
{
sum = sum + a[i][j];
}
printf(“Line %d sum = %d\n”, i, sum);
}
return 0;
}
怎样用C语言编程计算二维数组每一行和每一列数的和? 麻烦测试好了发我哈!感激不尽!
#includeiostream
float score[5][6] = { 91, 79, 83, 92, 85, 80,
95, 72, 81, 90, 86, 82,
96, 80, 90, 92, 84, 88,
88, 80, 78, 86, 84, 80,
77, 76, 86, 88, 80, 85 };
void main(void){
float sum1[5] = {0,0,0,0,0};//行的和
float sum2[6] = { 0, 0, 0, 0, 0 ,0};//列的和
for (int i = 0; i 5; i++){
for (int j = 0; j 6; j++){
sum1[i]+= score[i][j];
}
printf_s(“%f\n”,sum1[i]);
}
printf_s(“\n”);
for (int i = 0; i 6; i++){
for (int j = 0; j 5; j++){
sum2[i] += score[j][i];
}
printf_s(“%f\n”, sum2[i]);
}
getchar();
}
c语言中 用函数计算二维数组每行之和以及每列之和 怎么编程?
已通过测试
#include stdio.h
void fun(int a[][10],int row,int col)
{ int i,j,k,sum;
int r[10],c[10];
k=0;
for(i=0;irow;i++)
{ sum=0;
for(j=0;jcol;j++)
sum+=a[i][j];
r[k]=sum;
k++;
}
k=0;
for(j=0;jcol;j++)
{ sum=0;
for(i=0;irow;i++)
sum+=a[i][j];
c[k]=sum;
k++;
}
for(k=0;krow;k++)
printf(“the sum of NO.%d row is %d\n”,k+1,r[k]);
for(k=0;kcol;k++)
printf(“the sum of NO.%d column is %d\n”,k+1,c[k]);
}
main()
{ int a[10][10],row,col;
int i,j;
printf(“Input the row and column of array:”);
scanf(“%d%d”,row,col);
for(i=0;irow;i++)
for(j=0;jcol;j++)
scanf(“%d”,a[i][j]);
fun(a,row,col);
}