c语言,编写一个程序可以输入任意一个一维数组,代码😊 20

 我来答
梦醒南天
2015-05-23 · 学习乃进步之根本,创作是快乐的源泉
梦醒南天
采纳数:109 获赞数:362

向TA提问 私信TA
展开全部
你好,你的意思是通过键盘输入数组的元素,然后将数组输出吗?
如果是这样的话,那么有两种方法。
第一种:在输入数组元素之前,得先输入数组的长度。
第二种:使用链表。这时就不需要指定数组的长度 了。
我先确定一下是不是这样,如果你确实有这个需求的话,我再编写代码,好吗?
追问
第一种和我想要的差不多😊
追答

好的,你稍等,我马上编写代码



代码如下:

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

int main(int argc, char *argv[])
{
int len = 0 ;
int i = 0, j = 0 ;
int *p ;

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

//根据数组的长度动态申请内存空间
p = (int *)malloc(sizeof(int)*len);

//输入数组元素
for (i = 0; i<len ; i ++ )
{
printf("请输入第 %d 个数:\n", i);
scanf("%d", (p+i));
}

//将数组输出
printf("数组输出如下:\n");
for (j = 0; j<len ; j ++ )
{
printf("%d  ", *(p+j));
}

free(p);
return 0;
}

输出结果如下:

 

ahcc08
2015-05-23 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51941
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
#include<stdio.h>

void main()
{
     int numArray[5];
     
     for(int i = 0;i < 4; i++)
     {
          printf("请输入第%d数:", (i+ 1));
          
          scanf("%d", &numArray[i]);
     }
     
     for (int i = 0; i< 4; i++)
     {
         printf("%d ", numArray[i]);
     }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-05-23
展开全部

如果是可以输入任意个数的数组,可以这样

#include <stdio.h>  
void main()  
{
int a[99],i=0;
do{
    scanf("%d",&a[i]);
    i++;
    }while(getchar()!='\n');
for(int j=0;j<i;j++)printf("%d ",a[j]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyl0462
推荐于2017-10-11 · TA获得超过1082个赞
知道小有建树答主
回答量:433
采纳率:75%
帮助的人:331万
展开全部
#include<stdio.h>

typedef int data_type;//根据需要更改数据类型

void main()
{
data_type *arr_data_type;//定义一维数组指针
int n;//数组大小,自己任意输入
printf("输入一个整数(一维数组大小)\n");
scanf("%d",&n);
arr_data_type = (data_type *) malloc( sizeof(data_type)*n );
if( arr_data_type != NULL )
{
dosomething();
free(arr_data_type);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式