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
*/