C语言里面 数组都要事先定义长度吗 ?

如果我想随便输入一个数“n”然后让这个n就等于这个一维数组的长度呢?第一行中有个正整数n(n<=100),表示班级中参加考试的同学人数。第二行中包含n个成绩分数,都用非负... 如果我想 随便输入一个数“n” 然后 让 这个n 就等于这个 一维数组的长度呢?
第一行中有个正整数n(n<=100),表示班级中参加考试的同学人数。
第二行中包含n个成绩分数,都用非负整数表示,并且数据之间用空格隔开。,成绩输出的顺序就是学生学号的从小到大的顺序,并且规定学生的学号都是从第1号开始的,然后是2号、3号、4号,......,依次顺序编号到n。

Output

第一行输出最高分。
第2行请输出取得最高分的同学学号,如果有多个同学,请用空格隔开。
展开
 我来答
小白聊电子科技
高粉答主

2020-03-12 · 专注电子数码问题解答
小白聊电子科技
采纳数:775 获赞数:75466

向TA提问 私信TA
展开全部

C语言数组的长度是预先定义好的,在整个程序中固定不变。操作方法如下:

1、首先,点击进人visual studio,然后新建一个c项目。

2、接着,在源代码中添加c项目所使用的头文件,输入即可,如下图所示。

3、首先定义一个整型数组array,将其长度设置为4。

4、然后定义一个整型数据length,该参数用来储存数组长度,点击即可。

5、获得数组长度需要使用函数sizeof,利用该函数将数组所包含的数据位数除以该数据的位数即可,输入即可。

6、然后,点击运行相关代码,可以看到成功获取了数组的长度。

plus彭路
推荐于2017-10-01 · 超过19用户采纳过TA的回答
知道答主
回答量:51
采纳率:66%
帮助的人:15.4万
展开全部
在数组一章中,曾介绍过数组的长度是预先定义好的, 在整个程序中固定不变。C语言中不允许动态数组类型。例如: int n;scanf("%d",&n);int a[n]; 用变量表示长度,想对数组的大小作动态说明, 这是错误的。但是在实际的编程中,往往会发生这种情况, 即所需的内存空间取决于实际输入的数据,而无法预先确定。对于这种问题, 用数组的办法很难解决。为了解决上述问题,C语言提供了一些内存管理函数,这些内存管理函数可以按需要动态地分配内存空间, 也可把不再使用的空间回收待用,为有效地利用内存资源提供了手段。 其它文献中所提到的"动态数组",指的就是利用内存的申请和释放函数,在程序的运行过程中,根据实际需要指定数组的大小.其本质是一个指向数组的指针变量.常用的内存管理函数有以下三个:
1.分配内存空间函数malloc

2.分配内存空间函数 calloc
3.释放内存空间函数free
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolarcom
推荐于2017-09-16 · TA获得超过235个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:224万
展开全部
数组必须是固定长度,但是可以通过动态内存申请来实现你的要求。

unsigned int *pAllScores;

main()
{
int n = 0;
//输入n请自行完成;
if(n > 0)
{
pAllScores = (unsigned int*)malloc(sizeof(unsigned int) * n);//申请内存
memset(pAllScores, 0, sizeof(unsigned int) * n);//内存清零
//此时,pAllScores就可以当做一个长度为n的整形数组使用了。比如pAllScores[0]表示学号为0的学生的成绩。但是在使用完毕后,要注意释放该动态内存。
//假设此处为输入成绩,保存到pAllScores,并打印输出。在此之后须执行如下操作:
free(pAllScores);
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百载千番
2015-09-17 · TA获得超过110个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:40.8万
展开全部
是的,而且要定义数组类型。比如整数数组就是: int a[k]; 其中a是数组名,k是数组长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花香天地
2010-10-27 · TA获得超过342个赞
知道小有建树答主
回答量:137
采纳率:100%
帮助的人:113万
展开全部
C语言里定义数组必须确定其长度,如:int arr[n];其中n必须是一个确定的正整数。如果想实现动态数组效果,那就利用链表吧,或者使用数组转值的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式