| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 368 人关注过本帖
标题:师傅们。。。帮下忙
只看楼主 加入收藏
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
结帖率:77.42%
收藏
已结贴  问题点数:20 回复次数:3 
师傅们。。。帮下忙
#include <stdio.h>

#define MAX 20

/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=80, 考生可在本行后添加代码、最多1行、行长<=80字符) */
void f1(int *aa, int m, int *bb);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */

int main(void)
{
    int arrayA[MAX][MAX], arrayB[MAX][MAX], i, j, m;

    printf("Please input m: ");
    scanf("%d", &m);

    printf("\nPlease input arrayA:\n");
    for (i=0; i<m; i++)
    {
        for (j=0; j<m; j++)
        {
            scanf("%d", &arrayA[i][j]);
        }
    }

    /* 本部分代码功能建议:调用用户自定义函数实现数组内容变换 */   
    /* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
    f1(*arrayA, m, *arrayB);
    /* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */

    printf("\nafter rotate:\n");
    for (i=0; i<m; i++)
    {
        for (j=0; j<m; j++)
        {
            printf("%6d", arrayB[i][j]);
        }
        putchar('\n');
    }

    return 0;
}

/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
void f1(int *aa, int m, int *bb)
{
    int j, i;
   
    bb = aa;
    for (j = 0; j < m; j++)
    {
        bb[j][m-1] = bb[0][j];>>>>>>>>>>>>>>>>>>>>>>>>>>为什么这儿不能保存
    }
    for (j = 0; j < m; j++)
    {
        bb[j][0] = bb[m-1][j];        
    }
   
}
搜索更多相关主题的帖子: void 声明 include 
2012-12-12 21:27
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
收藏
得分:0 
就是将最后一列保存第一行, 第一列再保存最后一行,其余不变,,eg:
1 2 3 4                                      34 2 3 1
12 14 16 18》》》》》》》》》》》》》》》》》35 14 16 2
23 24 25 26                                  36 24 25 3
34 35 36 37                                  37 35 36 4

无节操,无真相
2012-12-13 13:48
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:10 
貌似楼主f1函数的形参是指针,那么f1函数内部的赋值是不是要通过移动指针来实现啊
   我也是新手,对传参学的不好

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-13 13:59
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:10 
void f1(int *aa, int m, int *bb)
你带入的是二维数组,不能这样定义变元的类型
程序代码:
for (j = 0; j < m; j++)
    {
        bb[j][m-1] = bb[0][j];>>>>>>>>>>>>>>>>>>>>>>>>>>为什么这儿不能保存  //这里把bb[0][j]复制bb[j][m-1]
    }
    for (j = 0; j < m; j++)
    {
        bb[j][0] = bb[m-1][j];        //bb[m-1][j]的值已经改变,同上
    }


I have not failed completely
2012-12-15 19:50
快速回复:师傅们。。。帮下忙
数据加载中...
 
   



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

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