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

2024-11-07 19:28:35
推荐回答(5个)
回答(1):

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

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

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

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

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

回答(2):

程序代码:

#include

#define N 10

int main()

{int a[N]={0};

int i=0;

for(i=0;i

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

for(i=0;i

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

return 0;

扩展资料:

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

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

回答(3):

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

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

    #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) ; //扩充空间

回答(4):

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时停止输入

回答(5):

输入N 以后,都动态开个数组。也可以建个链表模拟数组,随意加人一个元素,要返回某个元素,可以用个函数来代替