| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 978 人关注过本帖
标题:新人,刚学到数组,求教动态数组
只看楼主 加入收藏
zeng20289863
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-4-30
结帖率:0
收藏
已结贴  问题点数:20 回复次数:14 
新人,刚学到数组,求教动态数组
如题,老师出了个题目:
                      数组排序:从键盘读入若干整数,将它们按由低到高排序输出。
我想设计一个任意长度,即由用户自己决定长度的数组。
听说动态数组可以实现。
求教动态数组
搜索更多相关主题的帖子: 动态 键盘 用户 
2015-04-30 15:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
自己分配内存就可以了

DO IT YOURSELF !
2015-04-30 16:01
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
至于想使用类似
    int n=5;
    int t[n];
这样的代码   微软的ide是不支持的

DO IT YOURSELF !
2015-04-30 16:06
zeng20289863
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-4-30
收藏
得分:0 
回复 2楼 wp231957
分配内存?能不能按照我们老师的题目来做个例子?谢谢
2015-04-30 16:11
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
你试试这个东东  我只做了录入与输出部分   排序的部分自己实现吧

程序代码:
#include <stdio.h>
#include <malloc.h>

int main()
{
    int n;
    int *p;
    printf("请输入要输入的数组元素的个数:");
    scanf("%d",&n);
    p=(int*)malloc(n*sizeof(int));
    int i=0;
    for(i=0;i<n;i++)
    {
        scanf("%d",p+i);
    }
    printf("----------------------\n");
    for(i=0;i<n;i++)
    {
        printf("%d  ",*(p+i));
    }
    free(p);
    return 0;
}

DO IT YOURSELF !
2015-04-30 16:24
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:4 
c++用new分配空间delete释放空间

一片落叶掉进了回忆的流年。
2015-04-30 16:30
zeng20289863
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-4-30
收藏
得分:0 
回复 5楼 wp231957
虽然看不懂C语言,但是还是谢谢了,我会努力的
2015-04-30 16:33
zeng20289863
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-4-30
收藏
得分:0 
回复 6楼 诸葛欧阳
大神可否帮我实现一下?万分感谢,我还没学到new  和 delete
2015-04-30 16:35
zeng20289863
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-4-30
收藏
得分:0 
回复 6楼 诸葛欧阳
就是定义这个动态数组部分就行
2015-04-30 16:38
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:4 
楼上的加个排序
#include <stdio.h>
#include <malloc.h>

int main()
{
    int n,i,x,j,m;
    int *p;
    printf("请输入要输入的数组元素的个数:");
    scanf("%d",&n);
    p=(int*)malloc(n*sizeof(int));
    for(i=0;i<n;i++)
    {m=i;
        scanf("%d",&x);
        for(j=0;*(p+j)<x;j++);
        while(m>j){
            *(p+m)=*(p+m-1);m--;
        }*(p+m)=x;
    }
    printf("----------------------\n");
    for(i=0;i<n;i++)
    {
        printf("%d  ",*(p+i));
    }
    free(p);
    return 0;
}

剑栈风樯各苦辛,别时冰雪到时春
2015-04-30 16:42
快速回复:新人,刚学到数组,求教动态数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032560 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved