Sunny-smile 发表于 2014-8-22 16:55:55

问题,急,指针,数组

使得打印数字的顺序是:1    9      17
                                     3   11      19   
                                     5    13   21
                                    7      15    23

elvo 发表于 2014-8-22 16:55:56

#include <stdio.h>

const int squNum = 4; //几x几方格
int main()
{
        for(int i=0;i<squNum;i++)
        {
                for(int j=0;j<squNum;j++)
                        printf("%5d",1+j*2*squNum+i*2);
                printf("\n");
        }
        return 0;
}


也来凑凑热闹

章伯魂 发表于 2014-8-22 17:07:59

不要截图,贴代码,帮你改。

Sunny-smile 发表于 2014-8-22 17:26:47

章伯魂 发表于 2014-8-22 17:07
不要截图,贴代码,帮你改。

怎么贴代码?第一次发,不懂

小甲鱼 发表于 2014-8-22 19:01:50

Sunny-smile 发表于 2014-8-22 17:26
怎么贴代码?第一次发,不懂

把代码复制上来,点击<>这个按钮。

Sunny-smile 发表于 2014-8-22 19:29:22

小甲鱼 发表于 2014-8-22 19:01
把代码复制上来,点击这个按钮。

怎么复制代码呢?复制不进去

小甲鱼 发表于 2014-8-22 20:40:27

Sunny-smile 发表于 2014-8-22 19:29
怎么复制代码呢?复制不进去

{:9_230:}Ctrl + v

Sunny-smile 发表于 2014-8-22 21:52:08

小甲鱼 发表于 2014-8-22 20:40
Ctrl + v

#include <stdio.h>
int main()
{
        int a ={1,3,5,7,9,11,13,15,17,19,21,23};//定义两个二维数组,并将a初始化
        int*p;        //p是int*型指针变量
        for(p=a;p<a+12;p++)//使p依然指向下一个元素
        {
                if((p-a)%3==0)//p移动4次后换行。if语句的作用是使输出4个数据后换行
                        printf("\n");
                printf("%3d",*p);//输出P指向元素的值
        }
        printf("\n");

        return 0;

}

Sunny-smile 发表于 2014-8-22 21:52:58

章伯魂 发表于 2014-8-22 17:07
不要截图,贴代码,帮你改。

#include <stdio.h>
int main()
{
        int a ={1,3,5,7,9,11,13,15,17,19,21,23};//定义两个二维数组,并将a初始化
        int*p;        //p是int*型指针变量
        for(p=a;p<a+12;p++)//使p依然指向下一个元素
        {
                if((p-a)%3==0)//p移动4次后换行。if语句的作用是使输出4个数据后换行
                        printf("\n");
                printf("%3d",*p);//输出P指向元素的值
        }
        printf("\n");

        return 0;

}

破ID 发表于 2014-8-22 21:56:56

我只是路过打酱油的。

calton007 发表于 2014-8-22 22:36:44

Sunny-smile 发表于 2014-8-22 21:52

二维数组输出时行列互换就行啦
#include <stdio.h>
int main()
{
      int a ={1,3,5,7,9,11,13,15,17,19,21,23};//定义两个二维数组,并将a初始化
      int m,n;
      for(m=0;m<4;m++)
      {
            for(n=0;n<3;n++)
               printf("%3d",a)//行列互换
            printf("\n");//输出3个数换行
      }
      return 0;
}

Sunny-smile 发表于 2014-8-22 22:41:13

calton007 发表于 2014-8-22 22:36
二维数组输出时行列互换就行啦

结果有点错误哦,怎么会重复出现了9

calton007 发表于 2014-8-22 22:54:02

Sunny-smile 发表于 2014-8-22 22:41
结果有点错误哦,怎么会重复出现了9
sorry我看错你的题目了
我看成了将一个3行4列的数组转置成4行3列的

Sunny-smile 发表于 2014-8-22 22:56:14

calton007 发表于 2014-8-22 22:54
sorry我看错你的题目了
我看成了将一个3行4列的数组转置成4行3列的

亲,能不把教我一下呢?做不完,我就不能睡觉了:cry

calton007 发表于 2014-8-22 23:04:08

Sunny-smile 发表于 2014-8-22 22:56
亲,能不把教我一下呢?做不完,我就不能睡觉了

可是这样子数据没有规律欸
你确认一下题目真的是a,不是a吗?

Sunny-smile 发表于 2014-8-23 08:53:45

calton007 发表于 2014-8-22 23:04
可是这样子数据没有规律欸
你确认一下题目真的是a,不是a吗?

是的,我也没发现什么规律,唉,苦想n久都不知道怎么编

gyixue 发表于 2014-8-26 20:35:07

学习了{:9_217:}

ghuibin 发表于 2014-8-27 21:41:35

我是来凑热闹的

xujw89 发表于 2014-8-28 17:03:12

#include "stdio.h"

int main()
{
        int a ={1,3,5,7,9,11,13,15,17,19,21,23};//定义两个二维数组,并将a初始化

        for (int i=0,j=0;i<4;i++)
        {
                j=i;

                for (int k=0;k<3;k++)
                {
                        printf("%3d",a);
                        j=j+4;
                }       

                printf("\n");
        }       

        return 0;
}

xujw89 发表于 2014-8-28 17:05:19

自己写的,感觉结果应该没有问题,大家交流一下
页: [1]
查看完整版本: 问题,急,指针,数组