當前位置:首頁 » 編程語言 » C語言計算數組元素個數

C語言計算數組元素個數

發布時間: 2022-12-07 23:28:39

A. C語言, 統計數組每個元素個數怎麼做

我沒有隨機種子函數,這樣效果明顯。所產生的隨機數的范圍你可以改變。
#include<stdio.h>
#include<stdlib.h>
main()
{
int a[100],b[100],c[100]={0},i,j;
//a數組放隨機數
//b數組放是否被統計的標志,1未統計,0已統計
//c數組放對應a數組中隨機數出現的次數
for(i=0;i<100;i++)
{
a[i]=rand()%21;//產生0~20的隨機數
b[i]=1;//未統計
printf("%5d",a[i]); //列印a數組的值
if((i+1)%10==0) //一行列印10個數
printf("\n");
}
printf("\n");
for(i=0;i<100;i++)
{
if(b[i]) //若a[i]未被統計
{
c[i]++; //次數加1
for(j=i+1;j<100;j++)//從下一個開始向後查找
if(a[j]==a[i]) //若相等
{
c[i]++; //則次數增1
b[j]=0; //改為已統計
}
}
}
for(i=0,j=1;i<100;i++)
{
if(c[i]) //若某隨機數出現了,則列印其值和出現次數
printf("%3d:%5d 出現 %3d次\n",j++,a[i],c[i]);
}
}

B. 在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. C語言如何檢查一個數組中元素的個數

對於字元數組str[N],判斷方法有以下三種:

第一種:用庫函數strlen
len = strlen(str); // 數組長度
第二種:利用計數器
int i=0;
while(str[i++] != '\0'); // 數組str的長度為i
第三種:利用sizeof函數
len = sizeof(str)/sizeof(str[0]); // 數組長度對於其他類型的數組,都可以用字元數組的第三種方法,第三種方法是通用的。

D. C語言 怎樣求數組中元素個數(長度)

如果這樣定義,每一行還是20個數,後面的自動補為0了,所以根據這個數組不能求得每一行的元素個數。
樓主可以在這個數組每一行再添加一個特殊的數字作為標志位。

E. C語言獲取函數參數的數組的元素個數

C語言中,定義數組後可以用sizeof命令獲得數組的長度(可容納元素個數),通過數組占內存總空間/單個元素占內存空間大小,即可得到數組的元素個數
例如

但是,通過將數組作為函數參數傳遞到函數中,以獲得數組長度是不可行的
例如

原因:數組arr是函數參數,在函數中,arr只是一個指針(地址,系統在本函數運行時,是不知道arr所表示的地址有多大的數據存儲空間,這里只是告訴函數:一個數據存儲空間首地址),所以,sizoef(arr)的結果是指針變數arr占內存的大小,一般在32位機上是4個位元組。arr[0]是int類型,sizeof(arr[0])也是4個位元組,所以,結果永遠是1。

如果想要在被調用的函數中,得知原數組的大小,可以再給函數添加一個參數,用於指定數組的大小,讓外界調用函數前就講數組的大小傳遞進來

F. C語言中如何求數組真實存有數據的元素個數

這個是比較容易解決的,這是我把樓主的程序略加修改後的代碼:

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

intmain()

{

inta[100];

intn;

inti;

intlen=0; //此行給len初始化;

scanf("%d",&n);

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

{

a[i]=i;

++len; /*此處算是這個程序裡面求數組a實際長度的要點了,

每循環一次,len的值就加1(從初始值0開始加的),所以當循環n次後,len就記下了數組的長度!*/

}

//len=(sizeof(a)/sizeof(a[0]));因為只是為了讓len表示數組a的值,所以為了求len不必採用這樣的方法;

printf("%d ",len);//加個換行符輸出時看的明顯些;

}

這是我自己運行的結果,樓主可以自己運行著看看,這樣輸出的結果就是數組a的實際長度了:

樓主還有什麼疑問可以盡情問,還有,以後若是想求一個數組的實際長度,且這個數組是字元數組時,樓主只需要在頭文件中包含#include<string.h>後,就可以在求字元數組的實際長度時;用語句 int len;//用於存儲字元的實際長度;

len=strlen(a),其中a是要求的字元數組的名稱,不必加下標;很方便的,希望能幫到樓主哦。

G. C語言,求數組中元素的個數

因為循環中為空就輸出並退出,因改為
#include <stdio.h>
#define MAX 5000
int main()
{
int i,n,j=0,m,k;
int a[MAX];
for(i=0;i<10;i++)
{
a[i]=i;
}
for(j=0;j<MAX;j++)
{
if(a[j]!=0||j==0)
{
m=j;
printf("%d\n",m);

}
else
break;
}
return 0;
}

H. C語言如何計算一維數組個數

以上代碼中sizeof(a)的結果是40,而sizeof(int)的結果是4,len就是10,即數組a所佔int型的個數;
你可以進行循環判斷,當a[i]至a[9]都為0時,有效數值的個數為i

I. 請問在C語言中如何獲取一個數組里存在多少個元素

有一個函數就是為了獲取數組元素個數的:sizeof!
原理是:sizeof獲取數組的長度然後除以數據類型所佔的長度得到元素個數
我簡單寫下代碼:
int a[100]={1,2,3,4}; int len=sizeof(a)/sizeof(int); printf("%d\n",len);
以上為原來的回答,有錯誤:
在給定數組大小時候sizeof這個方法就不起作用了,我當時沒注意犯了錯誤有些誤人子弟了
原諒我一年以後才來修改這個答案~
我想了想int數組默認全是0稱為初始化,姑且說非0為有效元素
while(i<100)
{
if(a[i]!=0)
count++;
i++;
}
遍歷,記錄
字元數組有結束符,只要找到結束符的位置就可以了

熱點內容
文件夾審計 發布:2024-03-28 17:08:20 瀏覽:241
密碼反編譯是什麼意思 發布:2024-03-28 17:02:54 瀏覽:309
linux下samba 發布:2024-03-28 16:54:12 瀏覽:539
我的世界國際服手機版免費開伺服器 發布:2024-03-28 16:45:36 瀏覽:284
phpmongodb擴展下載 發布:2024-03-28 16:41:03 瀏覽:323
android開發教程筆記 發布:2024-03-28 16:31:48 瀏覽:771
榮威i6max配置怎麼選 發布:2024-03-28 16:18:11 瀏覽:455
cml編程 發布:2024-03-28 16:14:53 瀏覽:758
linuxc語言文件讀寫 發布:2024-03-28 15:59:57 瀏覽:579
點遍歷演算法 發布:2024-03-28 15:57:34 瀏覽:497