本文目录一览:
- 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;
}