c語言數組計算
『壹』 在c語言程序中如何計算一個數組中的每個整數的個數
#include
#define
MAX_NUM
1024
//假設最大的一個整數為1024
int
main()
{
int
b[MAX_NUM];
//統計數組
int
a[4098];//輸入數組
int
i;
int
count
=
0;
for(i=0;i<4098;i++)
{
printf("please
input
a[%d],input
-1
to
stop:",i);
scanf("%d",&a[i]);
if(a[i]
==
-1)
{
break;
}
count
++;
}
//初始化統計數組
for(i
=
0;i
{
b[i]
=
0;
}
//統計部分
for(i
=
0;i
{
b[a[i]]++;
}
for(i
=
0;i
<
MAX_NUM
&&
i
<
count;i++)
{
printf("the
number
of
%d
is:%d\n",i,b[i]);
}
}
『貳』 C語言如何計算一維數組個數
以上代碼中sizeof(a)的結果是40,而sizeof(int)的結果是4,len就是10,即數組a所佔int型的個數;
你可以進行循環判斷,當a[i]至a[9]都為0時,有效數值的個數為i
『叄』 關於C語言數組的運算。
首先你可以進行單步測試自己看看能不能學習到過程(程序員以後寫程序排錯 要學會自己單步測試找問題)
過程很簡單 你定義了一個1維數組 數組長度為10 從a[0] —— a[9] 進行for循環計算 i=9 a[9]=10-9=1 同理 a8=2 a5=5 a2=8 所以輸出 a2,a5,a8 分別就是852
希望幫到你!
『肆』 c語言計算數組的長度,最大最小值 補全程序
int get_len_max_min(int *pnums, int *pmax, int *pmin) {
int *pcur = pnums;
*pmax=*pmin=*pcur;
pcur++;
while(*pcur!=END_MARK ) {
if (*pcur>*pmax) *pmax=*pcur;
if (*pcur<*pmin) *pmin=*pcur;
pcur++;
}
return pcur-pnums;
}
『伍』 C語言中結構體數組長度怎麼計算
結構體數組的長度計算方法和普通數組相同。
1、c語言中,定義數組後可以用sizeof命令獲得數組的長度(即可容納元素個數)。但是通過傳遞數組名參數到子函數中,以獲得數組長度是不可行的,因為在子函數當中,數組名會退化為一個指針。
2、例如:
int
data[4],length;
length=sizeof(data)/sizeof(data[0]);
//數組占內存總空間除以單個元素占內存空間大小,即等於元素個數
printf("length
of
data[4]=%d",
length
);
//輸出length
of
data[4]=4
『陸』 C語言數組計算問題
int main()
{
int x_array[5]={5,10,15,20,25,30};
int y_array[5];
int i;
for(i=0; i<5; i++)
{
if(x >= 0 && x <=15)
y_array[i] = x_array[i] +1;
else if(x <= 30)
y_array[i] = x_array[i] +2;
}
// 計算完成,開始輸出
for(i=0; i<5;i++)
printf("x=%d y=%d\n",x_array[i],y_array[i]);
return 0;
}
思路:
x與y的值一一對應,應該用兩個元素個數相同的一位數組存放。
先初始化x數組,然後遍歷x數組的各個元素,計算出相應的y數組的值;
最後,按順序輸出
『柒』 C語言中如何計算一個數組占內存多少空間
如果一個數組的長度是n(即有n個元素),元素的類型是XXX,則n*sizeof(XXX)就是這個數組所佔內存空間的位元組數。
『捌』 C語言中如何計算一個數組占內存多少空間
C語言中數組的sizeof值等於數組所佔用的內存位元組數。
C語言中有一個專門用於檢測類型或變數或數組在內存中所佔有的空間(位元組數)的操作符sizeof,用sizeof可以直接檢測出數組在內存佔有的位元組數。
語法規則是:sizeof(x); (識別沒有歧義時也可寫成sizeof x;)——其中x是類型名、變數名或數組名等,返回x所佔位元組數(int型)。
(8)c語言數組計算擴展閱讀:
sizeof的使用規則:
1、基本數據類型的sizeof:
這里的基本數據類型指short、int、long、float、double這樣的簡單內置數據類型,由於它們都是和系統相關的,所以在不同的系統下取值可能不同,這務必引起我們的注意,盡量不要在這方面給自己程序的移植造成麻煩。一般的,在32位編譯環境中,sizeof(int)的取值為4。
2、指針變數的sizeof:
指針變數的sizeof值與指針所指的對象沒有任何關系,正是由於所有的指針變數所佔內存大小相等,所以MFC消息處理函數使用兩個參數WPARAM、LPARAM就能傳遞各種復雜的消息結構(使用指向結構體的指針)。
『玖』 C語言中計算數組長度的方法是什麼
用 sizeof 可以獲得數據類型或變數在內存中所佔的位元組數。同樣,用 sizeof 也可以獲得整個數組在內存中所佔的位元組數。因為數組中每個元素的類型都是一樣的,在內存中所佔的位元組數都是相同的,所以總的位元組數除以一個元素所佔的位元組數就是數組的長度。
比較特別的是,比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補0)位移。例如,將11100011右移3比特,算術右移後成為11111100,邏輯右移則為00011100。
運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。
C語言特點:
其一,廣泛性。C語言的運算范圍的大小直接決定了其優劣性。C語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。
其二,簡潔性。9類控制語句和32個關鍵字是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同時還能夠支持高級編程,避免了語言切換的繁瑣。
『拾』 c語言中如何求數組長度
1、c語言中,定義數組後可以用sizeof命令獲得數組的長度(可容納元素個數)。
例如:
intdata[4];
intlength;
length=sizeof(data)/sizeof(data[0]);//數組占內存總空間,除以單個元素占內存空間大小
printf("lengthofdata[4]=%d",length);//輸出lengthofdata[4]=4
2、但是,通過傳遞數組名參數到子函數中,以獲得數組長度是不可行的。
例如:
intgetLength(int[]a){
intlength;
length=sizeof(a)/sizeof(a[0]);//這樣是錯誤的,得到的結果永遠是1
returnlength;
}
因為,a是函數參數,到了本函數中,a只是一個指針(地址,系統在本函數運行時,是不知道a所表示的地址有多大的數據存儲空間,這里只是告訴函數:一個數據存儲空間首地址),所以,sizoef(a)的結果是指針變數a占內存的大小,一般在32位機上是4個位元組。a[0]是int類型,sizeof(a[0])也是4個位元組,所以,結果永遠是1。
3、因此,獲得數組長度,只能在數組定義所在的代碼區中,採用以上方法,才可以達到效果。