C语言判断数组内元素个数,c语言数组元素个数怎么看

http://www.itjxue.com  2023-01-14 17:12  来源:未知  点击次数: 

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语言中如何判断一个数组中有几个不相同的数

#includestdio.h

#define N 20

void main() { int a[N],i,j,b,n;

for ( i=0;iN;i++ ) scanf("%d",a[i]);

for ( i=1,n=1;iN;i++ ) {

for ( j=0,b=0;ji;j++ ) if ( a[i]==a[j] ) {b=1;break;} //判断a[i]前面所有元素是否与a[i]相同

if ( b==0 ) n++; //第i个元素前面与a[i]不同,则b为0,可以计数,否则不计数

}

printf("%d\n",n);

}

c语言测量数组元素个数

#include?stdio.h

int?main(void)

{

int?transform(char?*p);

char?str1[100],?str2[100];

scanf("%s",str1);

getchar(); /*?消去输入缓存中的空格或回车?*/

scanf("%s",str2);

printf("%d\n",?transform(str1)?+?transform(str2));

return?0;

}

int?transform(char?*p)

{

int?i,?num,?add?=?0;

for?(i?=?0;?p[i];?i++)?{ /*?字符串以?'\0'?结尾?*/

if?(p[i]?-?'0'??10)

num?=?p[i]?-?'0';

else

num?=?p[i]?-?'A'?+?10;

add?=?add?*?16?+?num;

}

return?add;

}

测试时,输入 A-E 不要输入 a-e

c语言如何判断一个数组中重复元素的个数,并输出这个个数的值?

如下:

#include?stdio.h

#include?stdlib.h

int?main()

{

int?n;

int?*a;

int?i;

scanf("%d",?n);

a?=?(int?*)malloc(sizeof(int)?*?n);

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

{

????scanf("%d",?a[i]);

}

for(i?=?0;?i??n?-?1;?i?++)

{

????????for(int?j?=?0;?j??n?-?i?-?1;?j?++)

????????{

????????????if(a[j]??a[j+1])

????????????{

????????????????int?tmp?=?a[j];

????????????????a[j]?=?a[j+1];

????????????????a[j+1]?=?tmp;

????????????}

????????}

}

int?tmp?=?a[0];

int?count?=?1;

for(i?=?1;?i??n;?i?++)

{

????if(tmp?==?a[i])

????{

????????count?++;

????}

????else

????{

????????if(count??1)

????????{

????????????printf("数组共有%d个数字%d\n",?count,?a[i?-?1]);

????????}

????????tmp?=?a[i];

????????count?=?1;

????}

}

if(count??1)

{

????printf("数组共有%d个数字%d\n",?count,?a[i?-?1]);

}

free(a);

return?0;

}

我的思路是,先排序,再输出。

C语言中怎么判断数组元素的个数,如数组: int array[]={45,56,76,234,1,34,23,2,3};

这是定义数组的一种方式 当输入的数组很大时 不用写它的规模 直接对它赋值 后面有几个元素 数组就有几个元素!!

C语言,求数组中元素的个数

你的数组a[0]在赋值过程中就是0啊

即a[0]=0;

for(;jMAX;j++)

{

if(a[j]==NULL)//如果数组为空则返回当前数组的下标,即为数组元素的个数

{ //或者这样写a[j]=='\0'

m=j;

printf("%d\n",m);

break;

}

}

所以上面程序j=0时,a[0] == NULL是TRUE,所以打印出m为0啊

所以你可以将赋值语句改一下即可

for(i=1;i=10;i++)

{

a[i]=i;//对十个数组依次赋值

}

(责任编辑:IT教学网)

更多

推荐微软认证文章