c语言 如何从键盘中输入若干个数保存到数组中

 我来答
小白聊电子科技
高粉答主

2020-05-15 · 专注电子数码问题解答
小白聊电子科技
采纳数:774 获赞数:75204

向TA提问 私信TA
展开全部

1、首先在电脑中打开编译器(vc++6.0),新建一个将1到100保存到数组中项目,如图所示。

2、添加一个 assignment.c 文件,如图所示。

3、包含stdio.h和stdlib.h头文件,如图所示。

4、输入main函数主体及返回值,如图所示。

5、定义一个char数组,长度为100,最后使用while循环进行赋值,如图所示,就完成了。

路尧家的顾小言
2019-10-11 · TA获得超过9374个赞
知道答主
回答量:336
采纳率:100%
帮助的人:3万
展开全部

程序代码:

#include<stdio.h>

#define N 10

int main()

{int a[N]={0};

int i=0;

for(i=0;i<N;i++)

{scanf("%d",&a[i]);}

for(i=0;i<N;i++)

{printf("%d ",a[i]);}

return 0;

扩展资料:

C语言中数组的输入和存放可通过scanf()函数来实现。首先要定义一个数组a[],根据需要定义数组类型,必须定义数组长度,可使用宏定义#define N 10来定义数组长度,方便在修改,也可直接定义为a[10];通过for循环依次将数据存入数组,键盘输入时数据之间以空格间隔。

数据存入数组后可进行调用,这里以printf()函数调用输出为例,输出格式要记得加空格使数据隔开,避免数据连在一起。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
推荐于2017-10-11 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:5638万
展开全部

从键盘输入若干数据到数组中,可选用的方法:

  • 预估最大数据个数,按此数值定义数组空间,完成数据输入

    #define MAX_NUM 1000

    int a[MAX_NUM];  这种方法定义数组,方便,安全。缺陷是数组空间大小受系统限制,数据太多了,就不能这样定义了。

  • 运行时,确定输入数据个数,采用指针动态定义数组,或C99提供的动态数组的方法实现

    int *p;

    int n;  printf ("input n: "); scanf("%d", &n); //输入数据个数

    (1)p=(int *)malloc(n*sizeof(int) ); //动态分配空间    不用了记得要释放free(p)

    或  

    (2)int pa[n] ;  //C99支持的动态数组,按n值动态定义数组

  • 还可以采用指针动态扩充数组方法:先分配一定的大小,当数组不够用时,再重新分配空间。

    #define INIT_LEN 100        预分配空间

    #define INCE_LEN 10         每次扩充空间

    int *p=(int *) malloc(INIT_LEN *sizeof(int) );

    int length=INIT_LEN ;

    不足时, length+=INCE_LEN ;  p=(int *)realloc( p, length) ; //扩充空间

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨的恩惠
推荐于2017-10-08
知道答主
回答量:31
采纳率:0%
帮助的人:16.7万
展开全部
int a[100],i=0;
while(scanf("%d",&x)!=EOF)
{
a[i]=x;

i++;

}//这样是输入文件结束后停止输入
或者是
int a[100],i=0;
while(scanf("%d",&x)!=-1)
{
a[i]=x;
i++;
}//这样的话就是输入-1时停止输入
追问
不能有啊a[100],要任意多少个数,输入多少个数。a[n]中的n就是多少?
追答
骚年,这是不可能滴,计算机内存是有限的,数组只能定义一个固定值,不然的话要用链表(虽然也不可以输无限多个数)。像这种问题,一般都是这么写的
#define MAXSIZE 10000 //在这里定义大小,以后修改会方便点
int a[MAXSIZE],i=0;
while(scanf("%d",&x)!=-1)
{
a[i]=x;
i++;
}
数组大小定义好像是最大可以定义几百万吧,你把MAXSIZE 定义为10000 ,基本就不会越界了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxjouc
2012-11-19
知道答主
回答量:25
采纳率:0%
帮助的人:18.9万
展开全部
输入N 以后,都动态开个数组。也可以建个链表模拟数组,随意加人一个元素,要返回某个元素,可以用个函数来代替
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式