| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1992 人关注过本帖
标题:数组 逆序输出
只看楼主 加入收藏
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
结帖率:70.59%
收藏
已结贴  问题点数:10 回复次数:13 
数组 逆序输出
将一个数组中的值按逆序存放。
这是课本上的一道练习题。当初自己做的时候。定义了一个数组。
#include<stdio.h>
main()
{
    int a[5], i, temp;          /*定义数组及变量为基本整型*/
    for (i = 0; i < 5; i++)        /*逐个输入数组元素*/
        scanf("%d", &a[i]);
    for (i = 0; i < 2; i++)        /*将数组中元素的前后位置互换*/
    {
        temp = a[i];          /*元素位置互换的过程借助中间变量temp*/
        a[i] = a[4-i];
        a[4-i] = temp;
    }
 
    for (i = 0; i < 5; i++)        /*将转换后的数组再次输出*/
        printf("%d ", a[i]);
}

现在再来看这道题,才发现题目并没有说要定义那么长的数组。
我想说的是,如果题目没有说,那是不是可以自己随意定义长度
还有就是,就这道题来说,如果让它变成无论输入多少个数据都能互换 要怎么办?
搜索更多相关主题的帖子: include 练习题 课本 元素 
2014-03-02 21:46
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:3 
5个元素的会换,10个的就不会了吗,同理的。
这道题你要是真正掌握了,无论多少个你都能换。
每行代码都仔细扣一扣,扣明白了就懂了
2014-03-02 22:01
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:3 
正着输入
倒着输出...

三十年河东,三十年河西,莫欺少年穷!
2014-03-02 23:27
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
收藏
得分:0 
回复 2楼 w851777025
确实的数字,当然会的呀。我想换成n 可是定义不可能写成 int a[n]吧。

极品菜鸟,来学习啦,啦啦啦啦啦啦啦。。。
2014-03-02 23:47
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:0 
你要是纠结那个的话,那就没必要了。
数组里面可以写变量,前面好像要定义什么东西我也不太清楚,还没学到那。
2014-03-02 23:58
U201010009
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:73
专家分:178
注 册:2013-2-25
收藏
得分:3 
楼主可一先看看#define怎么使用,然后就可以解决int a[n]的问题了
2014-03-03 10:18
hyddpjh
Rank: 2
等 级:论坛游民
帖 子:9
专家分:14
注 册:2014-2-27
收藏
得分:3 
//供你参考
# include <stdio.h>
# include <malloc.h>

int main(void)
{
    int i, len;
    int * p;

    p = (int *)malloc(sizeof(int));
   
    printf("请输入数组的长度, len = ");
    scanf("%d", &len);

    for(i=0; i<len; i++)
    {
        printf("请输入第%d个数的值:\n", i+1);
        scanf("%d", &p[i]);
    }

    printf("原输入的值:\n");
    for(i=0; i<len; i++)
    {
        printf("%d  ",p[i] );
    }
        printf("\n");

    printf("反向输出值:\n");
    for(i=len-1; i>=0; i--)
    {
        printf("%d  ",p[i] );
    }
        printf("\n");

    return 0;

}

[ 本帖最后由 hyddpjh 于 2014-3-3 11:32 编辑 ]
2014-03-03 11:29
maybe2014
Rank: 1
来 自:不周山
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-5-20
收藏
得分:0 
学到了~

九天决堤,唐导快跑。
2014-05-20 11:23
rmbking
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:36
专家分:157
注 册:2014-3-19
收藏
得分:0 
c99好像是支持int a[n];的数组声明的。
2014-05-24 10:12
迷茫小生
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2014-4-28
收藏
得分:0 
我的看法
1解:要是可以的话,直接反着输出多简单。
    for(i=n-1;i>=0;i--)        //n为数组长度
        printf("%d ",a[i]);
2解:完全可以:
    int a[10000],n,i;
    printf("输入数组长度:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
        。。。            //输入、交换、输出
应该够了吧。
求指导。

行己路,不怕雾。\n编程问题尽迷茫,但论坚持有小生。
2014-05-24 10:48
快速回复:数组 逆序输出
数据加载中...
 
   



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

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