鱼C论坛

 找回密码
 立即注册
查看: 3979|回复: 8

[已解决]从键盘上输入9个数,保存在二维数组中,按数组原来位置输出第一行和第一列的所有元素

[复制链接]
发表于 2017-9-29 20:58:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
void main()
{
        int i , j,a[3][3];
        for(i=;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        printf("a[%d][%]:",i,j);
                        scanf("%d",&a[i][j]); //   Q1:printf 和 scanf 这两部都需要才能实现从键盘上获取数组吗?
                }
        }
        for(i=0;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        if(1==i || 1 == j)  // Q2:这里的条件看不明白
                        {
                                printf("%-6d",a[i][j]);  //Q3: 为什么这里用-6d,直接%d不行吗?
                        }
                        else
                        {
                                printf("%-6d",' ');
                        }
                }
                printf("\n");
        }
}
最佳答案
2017-9-29 23:27:16
Ccoding 发表于 2017-9-29 23:20
Q1:printf("a[%d][%d]",i,j)
Q2: 题目意思是列出数组像键盘数字那样
789

哦。那是我没弄明白题意了。。
如果过程不清楚的话。。用Debug单步调试就明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-29 22:42:54 | 显示全部楼层
Q1:
printf(..)里面似乎打错了。a[%d][%d]。
不需要printf,用scanf从键盘获取数组
Q2:
i,j似乎应该分别是行和列,然后不太清楚,如果是第一行第一列的话,似乎应该把两个1改为0;
Q3:
-6d是指输出的格式,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-29 23:20:19 | 显示全部楼层
eglym 发表于 2017-9-29 22:42
Q1:
printf(..)里面似乎打错了。a[%d][%d]。
不需要printf,用scanf从键盘获取数组

Q1:printf("a[%d][%d]",i,j)
Q2: 题目意思是列出数组像键盘数字那样
789
456
123
但只需要输出
8
456
2

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-29 23:27:16 | 显示全部楼层    本楼为最佳答案   
Ccoding 发表于 2017-9-29 23:20
Q1:printf("a[%d][%d]",i,j)
Q2: 题目意思是列出数组像键盘数字那样
789

哦。那是我没弄明白题意了。。
如果过程不清楚的话。。用Debug单步调试就明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-29 23:29:20 | 显示全部楼层
eglym 发表于 2017-9-29 23:27
哦。那是我没弄明白题意了。。
如果过程不清楚的话。。用Debug单步调试就明白了。

ok我自己再琢磨一下~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-30 09:37:19 | 显示全部楼层
Ccoding 发表于 2017-9-29 23:20
Q1:printf("a[%d][%d]",i,j)
Q2: 题目意思是列出数组像键盘数字那样
789

可以输出的,就是在打印的for循环嵌套里用下判断条件。你看你要输出的数的规律,第一行、第三行是中间值对应的列是1,第二行是全部
if ( i == 1 || j == 1 )的意思是遇到中间行或者中间列就执行打印程序(数组从0开始,1就是中间),不是就打印空格填补空缺位。
你想下是这个意思不
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-9-30 15:31:35 | 显示全部楼层
丶忘却的年少o 发表于 2017-9-30 09:37
可以输出的,就是在打印的for循环嵌套里用下判断条件。你看你要输出的数的规律,第一行、第三行是中间值 ...

大哥~非常感谢,我上课的时候突然间想明白你说的。
我写了一下,判断那里的意思就是打印出"十"这种形式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-30 16:30:48 | 显示全部楼层
Ccoding 发表于 2017-9-30 15:31
大哥~非常感谢,我上课的时候突然间想明白你说的。
我写了一下,判断那里的意思就是打印出"十"这种形式 ...

有的时候不知道,你就把你自己当成电脑,按照程序一步步执行下,要打印什么就在智商写什么,慢慢的有些东西不用去DEBUG就知道是什么意思了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-1 10:41:02 From FishC Mobile | 显示全部楼层
丶忘却的年少o 发表于 2017-9-30 16:30
有的时候不知道,你就把你自己当成电脑,按照程序一步步执行下,要打印什么就在智商写什么,慢慢的有些东 ...

已铭记在心。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 17:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表