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
",i,b[i]);
}
}

循环输入的时候 添加一个计数器

main里面第一行,a[10]就表示分配了10个元素的空间,所以a的size是10个int,故结果为10。
所以就第一行改为a[5]或者a[]就可以了。
估计你想要的是a[]这种,根据你列表里的元素个数,自动分配。

以上代码中sizeof(a)的结果是40,而sizeof(int)的结果是4,len就是10,即数组a所占int型的个数;
你可以进行循环判断,当a[i]至a[9]都为0时,有效数值的个数为i

方法一、最简单的一种获取数组元素个数的方法是通过while循环到'\0'字符之前的元素。
int main()
{
int a[] = { 1,2,3,4,5 };
下面是利用while循环获取数组中除了‘\0'的元素个数
int i = 0;
while (a[i] != '\0') {
//printf("%d\n", a[i]);
i++;
}
printf("%d\n", i);//返回数字5
return 0;
}
方法二、
int main()
{
int a[] = { 1,2,3,4,5 };
int len = sizeof(a) / sizeof(a[0]);//获取数组的定义长度
printf("%d\n", len);//返回数字5
return 0;
}

初值表的内容是在编译期就确定的,从代码中可知初值表元素个数为5个,直接写5即可。
在运行时没有任何方法可以得知初值表中有多少个元素。

我是用的VS2019编译的,这个sizeof运算符就直接计算出你inta[10]所预占的空间大小,试试strlen或者遍历计数吧


C语言多维数组的赋值
循环,或者定义的时候赋值~

一道基础C语言题,求解,最好附上这部分的知识点(通俗易懂点)。_百度知...
拜托帮我写出这个题的答案,顺便再讲讲分配存... C老师语言老师补充的一个知识点,没注意听,现在求高手教导。题目如下:产生动态数组。动态分配了10个整型存储区域,然后进行赋值并打印。拜托帮我写出这个题的答案,顺便再讲讲分配存储区是怎么回事的。在下感激不尽!!! 展开  我来答 ...

r语言如何生成矩阵偶数
data<-seq(2,12,2)y<-matrix(data,nrow= 2,ncol=3,byrow=T\/F)data是矩阵的元素,nrow指定行的维数,ncol指定列的维数,byrow=TRUE表明矩阵是按行填充,还是按列填充byrow=FALSE,默认按列填充。

C语言中一维数组的最长维数是多少?谢谢!
ANSI C89标准中规定,一个数组的尺寸(下标)必须是一个整型常量表达式以便于在编译时计算大小,而这里的所谓常量(或者常量表达式的运算结果),一般是指unsigned int。16位编译器(比如Turbo C)中,unsigned int为16位,因此数组最多32767个数据。32位编译器(比如Visual C++ 6.0)中,unsigned int为...

matlab输入数组的方式
比如三维数组如下输入:>> a = {[1,2;3,4],[5,6;7,8]} 如果输入比如 a{1},则会输出第一个二维矩阵,MATLAB(矩阵实验室),全称为Matrix Laboratory,是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。MATLAB具有数值分析、数值...

c语言问题
这个是二维数组,x[a][b],a表示行,b表示列 B明显是错的,x[2][3]是两行三列,而B中是表示三行两列

C语言:创建一个一维(int)数组(维数为6),输入数组元素,并输出数组元素中 ...
include <stdio.h> int main(){ int a[6],i,j,temp;printf("输入6个数:\\n");for(i=0;i<6;i++)scanf("%d",&a[i]);for(i=0;i<6;i++)for(j=i+1;j<6;j++)if(a[i]

在C#中,采用什么属性表示数组的维数
C#声明数组时,方括号[]必须跟在类型后面,而不是标识符后面 1. 声明一维数组 C#数组的大小不是其类型的一部分,而在C语言中却是数组类型的一部分 int[] mySigArray = new int[4]; \/\/声明数组类型,并使用new关键字为他分配内存空间\/*上述声明可分解为以下两步*\/int[] mySigArray; \/...

fortran语言问题
DIMENSION M(4,3) 定义4行3列整型数组(Fortran 列优先)由于 I~N 规则 M为整型。DATA M\/1,3,2,4,5,7,6,8,9,10,11,12\/ DATA语句,初始化数组 1行1列为 1,2 行1列3 余类推!K=3 赋值语句 让 K=3 WRITE(*,100)(M(K,1).I=1,3) 写缺省通道 *应该是屏幕 100 ...

c语言程序设计: 将两个长度相同的一维数组中各下标相同的对应元素相乘...
main(){int a[N], b[N], c[N];int i;for(i = 0; i<N; i++) \/\/输入scanf("%d", &a[i]);for(i = 0; i<N; i++) \/\/输入scanf("%d", &b[i]);for(i = 0; i<N; i++){\/\/计算c[i]c[i] = a[i] * b[i];printf("%d ", c[i]);}return 0;} ...

绵阳市19897807073: 用c 语言编程 输入一个一维数组求平均数,正数,负数的个数 -
臾虾氢化: 我想你主要不知道怎么得到一维数组的大小.一维数组的大小可以用SIZEOF()得出.至于子程序嘛很简单.个个数相加除以平均数,用大于等于0和小于0来判断正负.

绵阳市19897807073: C语言编写递归函数,统计一维数组偶数的个数? -
臾虾氢化: #include<stdio.h> int odd(int a[],int n) {if(n>0)return odd(a,n-1)+a[n-1]%2;return 0; } int main() { int a[10]={1,2,3,4,5,6,7,8,9,10};printf("%d\n",even(a,10));return 0; }

绵阳市19897807073: C语言大神来,编写程序,读入一组整数到一维数组中,然后分别统计其中的偶数个数和奇数个数并输出(若没 -
臾虾氢化: #include<stdio.h>#include<stdlib.h>#include<time.h>int main(){srand(time(0));int i,a[100]={0},even=0;for (i=0;i<100;i++){ a[i]=rand()%1000+1;}for (i=0;i<100;i++){if (a[i]%2==0){even++;}}printf("奇数%d个,偶数%d个\n",100-even,even);return 0;}

绵阳市19897807073: 在C语言统计一维数组a中素数的个数 -
臾虾氢化: #include <math.h> #include <conio.h> #include <stdio.h> prinum( int a[] )//函数应该有个返回值 int prinum( int a[] ) { int count,i,j,k; count = 0; for ( i=0; i<10; i++) { k=a[i]-1; for ( j=2; j<=k; j++) if (a[i] % j == 0) break; if(j >= k+1)count++; } /************found...

绵阳市19897807073: C语言定义一个函数,找出一维数组中的某个数的个数后返回.初学者,暂时未学到指针.请大家帮帮忙/ -
臾虾氢化: #include <stdio.h> int find(int *a,int n,int f) { int sum=0; for(int i=0;i<n;i++) { if(a[i]==f) sum++; } if(sum==0) return -1; else return sum; } int main() { int a[1000]; int n;int f; printf("请输入字符组的大小:\n"); scanf("%d",&n); printf("请输入%d...

绵阳市19897807073: C语言定义一个一维数组,用来储存用户输入的数据,但又不知道对方要输入多少个,怎么定义? -
臾虾氢化: 你应该先定义一个较大的数组,比如a【1000】,然户输入,只要比这个最大数小的个数个数据都可以.比如可以输入10个,可以输入100个等等

绵阳市19897807073: C语言编程题,若函数形参为一维数组作函数参数编写函数,统计某一维数组中非0元素的个数? -
臾虾氢化: #include <stdio.h> int func(int a[],int n) { int i,cnt; for(cnt=0,i=0;i<n;++i) if(a[i]) cnt++; return cnt; } int main() { int a[10]={0,1,2,3,4,5,6,7,8,9}; printf("%d\n",func(a,10)); return 0; }

绵阳市19897807073: 求c语言大神解答!!!在线等!急!!谢谢谢谢! 编写一个程序,对给定的一维整形数组a,数字元素个数 -
臾虾氢化: #includeint main() {int i,j=0,t,a[20]; for(i=0;i<20;i++) {scanf("%d",&a[i]); if(a[i]>a[j])j=i; } t=a[j];a[j]=a[0];a[0]=t; for(i=0;i<20;i++) printf("%d ",a[i]); printf("\n"); return 0; }

绵阳市19897807073: 在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 {printf("please input a[%d],input -1 to stop:",i);scanf("%d",&a[i]); if(a[i] == -1){ ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网