本文目錄一覽:
- 1、c語言如何取數組元素個數?
- 2、C語言中如何隨機選取數組中的數字(程序代碼請寫出)?
- 3、在c語言中怎樣從數組中取出一個數
- 4、C語言查找數組中的數據
- 5、在一個數組中查找一個數,用C語言怎麼寫代碼?
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語言中如何隨機選取數組中的數字(程序代碼請寫出)?
應該是a[2][3]={{1,3,2},{8,0,3}} 吧
#include iostream //cout函數的頭文件
#include cstdlib
#include time.h /* srand函數與rand函數的頭文件*/
using namespace std;
int main()
{
int a[2][3]={{1,3,2},{8,0,3}},x,y,z;
srand ( (unsigned) time (NULL) );
x=rand()%2; //調用隨機函數
y=rand()%3; //調用隨機函數
z=a[x][y];
coutz”\n”;
system (“pause”);
return 0;
}
三樓,請注意素質…
那是我的版權!!
樓主,一定要注意先來後到!
我本是2樓的,後因稍作修改,沒想到3樓抄襲我。。。
在c語言中怎樣從數組中取出一個數
在c語言中,無法直接返回一個數組,但是可以通過返回對應類型指針的方式,返回數組。
在大多數情況下,一維數組和一維指針是可以通用的。
比如,定義一個函數,申請一定長度的整型動態數組,其長度用參數傳入,並將結果返回。如出錯,返回空指針null。
代碼可以寫成如下形式:
int *int_array_create(int n)//參數n為數組元素個數
{
int *r;
if(n=0) return null;//參數錯誤
r = (int *)malloc(sizeof(int)*n);//申請內存空間,大小為n個int長度。
return r;//返回得到的整型數組的指針。
}
C語言查找數組中的數據
#define IntSize sizeof(int)
#define StructSize sizeof(struct tagresult)
#includestdio.h
#includestdlib.h
#includestring.h
typedef int *ptint;
typedef struct tagresult
{
int v;
char bl;
}*ptresult;
int lessthan(const void *v1,const void *v2)
{
int i1=*((ptint)v1),i2=*((ptint)v2);
if(i1==i2)
return 0;
else if(i1i2)
return 1;
else
return -1;
}
int main()
{
int c,n,capacity=128,rlen=0,dlen;
ptint data=(ptint)calloc(capacity,IntSize);
ptresult result;
scanf(“%d”,n);
result=(ptresult)calloc(n,StructSize);
memset(result,0,n*StructSize);
while(n–0)
{
scanf(“%d”,c);
dlen=0;
for(;c0;c–)
{
if(dlen+1=capacity)
{
capacity*=2;
data=(ptint)realloc(data,capacity);
}
scanf(“%d”,data+dlen++);
}
scanf(“%d”,c);
//直接調用庫函數qsort進行快速排序,就不自己寫快速排序算法函數了
qsort(data,dlen,IntSize,lessthan);
if(c=dlen)
{
(*(result+rlen)).v=*(data+c-1);
(*(result+rlen)).bl=1;
}
rlen++;
}
for(n=0;nrlen;n++)
{
if(1==(*(result+n)).bl)
printf(“Case #%d:%d\n”,n+1,(*(result+n)).v);
else
printf(“Case #%d:-1\n”,n+1);
}
free(data);
free(result);
return 0;
}
在一個數組中查找一個數,用C語言怎麼寫代碼?
#includestdio.h
int main(void)
{
int i,j,k=0,sz[10]={5,75,89,428,576,5986,7543,8524,9805,1057};
printf(” 請輸入要查找的數:”);
scanf(“%d”,j);
for(i=0;i10;i++)
if(sz[i]==j)
{
printf(” sz[%d] = %d\n”,i,sz[i]);
k++;
}
if(!k)
printf(” 數組中沒有您要查找的數。\n”);
return 0;
}
原創文章,作者:NMHB,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/135867.html