C语言如何输入一个数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言如何输入一个数组相关的知识,希望对你有一定的参考价值。

数组a[ ],a[ ]的个数由键盘输入的数字x决定,求大神解答

1、输入数组需要使用指针获取地址后,就能对得到的数组就行操作了。首先打开DEV C++软件,新建一个空白的C语言文件:

2、输入程序的源码,先定义一个整型数组“a[5]”,采用scanf语句输入数组中的每个元素,这里使用指针来对输入的数字进行访问,要先给输入的每一个数字给予它的地址,便于访问,最后拿得到的数计算出平均值输出,程序就编写完成了:


3、代码全部编写成功之后编译运行,在弹出的输入面板中输入任意5个整数,按回车键,即可得出平均值,以上就是用C语言输入一个数组,关键点是数组的获取要用指针:

参考技术A

C语言中不允许动态创建数组。不过我们可以用另外一种方式来实现,功能是一样的。

可以根据输入的数组长度来动态申请一段内存,然后数据就可以存放在这块内存上了,用法和数组一样。具体代码如下:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char *argv[])

int len = 0, num = 0;
int i = 0;
int *a = NULL;

printf("\\n请输入数组的长度: \\n"); 
scanf("%d", &len);

a = malloc(sizeof(int)*len);

/* 测试: 给数组进行赋值 */
for (i=0; i<len; i++)

a[i] = i*2 + 10;


/* 测试: 输出数组中的数据 */
printf("数组中的数据如下: \\n");
for (i=0; i<len; i++)

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

printf("\\n\\n");  //换行

return 0;

参考技术B scanf("%d",x);
int a[x];
for (int i=0;i<x;i++)

scanf("A[",i,"]=%d\n",&a[i]);

输入数组时,每输入一个加一个回车即可
参考技术C 先定义int x;
然后输入x
然后for(i=0;i<x;i++)
输入数组
参考技术D #include<stdio.h>
int main(void)

int x;
int i=0;
int a[x];
printf("请输入一个数:");
scnaf("%d",&x);
for(i=0;i<n;i++)

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

printf("%d",a[x]);
return 0;

关于c语言数组 如何在一个数组尾部添加新的元素?需要建立一个新的数组吗?

插入元素必须需要数组元素要比元素个数多,给出如下例:
#include <iostream>
using namespace std;
int main()

    int arr[100];//声明数组;
    int n;
    cout<<"请输入元素的个数:";
    cin>>n;//有多少个数组元素
    cout<<"请输入元素:";
    for(int i=0;i<n;i++)
    
        cin>>arr[i];
    
    sort(arr,arr+n);//对数组进行从小到大排序
    cout<<"请输入要插入的元素"<<endl;
    cin>>arr[n];
    sort(arr,arr+n+1);//对插入的元素进行从小到大排序
    cout<<"排序后的元素:";
    for(int i=0;i<n;i++)
    
        cout<<arr[i]<<" ";
    
    cout<<arr[n]<<endl;
    return 0;

参考技术A C语言本身没有直接的动态数组, 自己可以写个库函数和方法来实现,说的在直接点就是用链表来实现动态数组了,数组的申请, 扩充, 回收 都要自己写处理方法

以上是关于C语言如何输入一个数组的主要内容,如果未能解决你的问题,请参考以下文章

c语言动态数组如何扩充空间

C语言中如何定义一个二维数组,数组长度由输入值确定?

c语言中如何通过输入获得数组的对对应下标获得相应的数组元素数据

C语言如何定义一个N行N列的二维数组任意输入数据

c语言中如何修改数组中的元素

C语言判断输入的数是不是在之前输入的数组中如何写?