C语言中,如何利用数组输入不知道个数的若干数,

如题。
比如说老师要录入学生成绩,但题目中没有给出学生的个数。。。
这样该怎样输入呢?
求指导啊。

数据结构里面,一般使用动态分配空间的方式,malloc首次分配和realloc重新分配更大空间。
你可以先malloc一个比较大点的空间,比如20个int的数组空间,当输入个数超过20时,realloc一片20+10的空间,也就是一次性增大10个int的空间,再输入到30个了,就再realloc一片30+10的空间。需要一个变量存贮当前最大空间,然后一个变量记录你输入了多少个数据。追问

有没有能不用指针部分的知识解决啊?

追答

没有
若是在C++里面,可以使用vector等容器,可以实现动态数组
在标准C语言里面,不使用指针和动态分配,没有直接办法实现任意大小的数据存储。
使用固定大小的数组,都是假设待输入数据个数不会超过设定的范围,才好提前分配,这样也可能浪费空间,万一实际输入就1个成绩,就浪费了大部分空间了。

使用指针的话,还可以使用链表,之前说的分配连续空间其实是顺序表。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-29
{ int Len; int i,a[Len]; printf("输入数组长度: \\n"); scanf("您说的是这个意思吗? 那你把数组设置的足够大不就行了么?比如说int,lkEBhI追问

额,不是不是,题目中事先没有给出输入数组长度的步骤,一开始就是输入数据,输完就结束了。。。。。

第2个回答  2020-11-24
用数组写,把他的元素定义得足够大。

相关了解……

你可能感兴趣的内容

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