Anny黄 发表于 2015-5-9 22:34:10

心情有点小激动,终于不用看答案,完全靠自己完成了小甲鱼老师的一道题!但是......

小甲鱼老师说了以九宫格的形式输入,再以九宫格的形式打印,这题做了都快2个小时了,都没办法想出怎么在输入的时候也是以九宫格的形式输入,求大神指点一二。。。直接上代码#include<stdio.h>
void main()
{
        inta,d,s;//a是数组的行,d是数组的列,
        printf("请给三组数组赋值,系统将以九宫格形式自动打印出第一行和第一列的值\n");
        for(a=0;a<3;a++)
        {
                for(d=0;d<3;d++)
                {
                        scanf("%d",&s);//该处进行数组赋值
                }
        }
        for(a=0;a<3;a++)
        {
                for(d=0;d<3;d++)
                {
                       
                        switch(s==s||s==s)        //该处进行数组比较是否符合条件
                        {       
                        case 1:printf("%d",s);break;
                        case 0:printf("%c",32);break;
                        }
                       
                        if(d==2)printf("\n");
                }
               
        }
       
}


迷雾少年 发表于 2015-5-10 07:42:30

复杂化了...

秀丽江山 发表于 2015-5-10 11:43:43

我学c语言的适合,甲鱼的题,只有一道题是没做出来,而去看答案的
我现在都记得,就是用嵌套循环输出*,第一排一个,第二排二个,知道第六排
*
**
***
****
*****
******
这题是我唯一在甲鱼视频c语言中没做出的题
我得记一辈子

Anny黄 发表于 2015-5-10 12:02:53

秀丽江山 发表于 2015-5-10 11:43
我学c语言的适合,甲鱼的题,只有一道题是没做出来,而去看答案的
我现在都记得,就是用嵌套循环输出*,第 ...

{:9_236:}好厉害的样子。这个你应该也知道怎么在输入的时候以九宫格形式输入吧,帮忙指点指点{:9_228:}

秀丽江山 发表于 2015-5-10 12:07:26

Anny黄 发表于 2015-5-10 12:02
好厉害的样子。这个你应该也知道怎么在输入的时候以九宫格形式输入吧,帮忙指点指点

C语言都忘记好多了。
在学ios开发。
那些题真不记得该怎么做了,连32个关键字使用方法都快忘记了

迷雾少年 发表于 2015-5-10 12:11:02

本帖最后由 迷雾少年 于 2015-5-10 12:13 编辑

LZ你看我 这代码可以不
#include <stdio.h>
#include <stdlib.h>

int main()
{
      int a={0};
   scanf("%d %d %d",&a,&a,&a);
   scanf("%d %d %d",&a,&a,&a);
   scanf("%d %d %d",&a,&a,&a);

   printf("%d\n%d %d %d \n%d \n\n",a,a,a,a,a);


      return 0 ;
}

Anny黄 发表于 2015-5-10 12:14:26

迷雾少年 发表于 2015-5-10 12:11
可以不
#include
#include


可是目前为止小甲鱼老师那的头文件还没有用到stdlib.h这个哦。应该不会跟视频一样的吧,算啦,我还是看下答案吧!

迷雾少年 发表于 2015-5-10 12:15:16

Anny黄 发表于 2015-5-10 12:14
可是目前为止小甲鱼老师那的头文件还没有用到stdlib.h这个哦。应该不会跟视频一样的吧,算啦,我还是看下 ...

stdlib.h根本用不到 vs自动加上去的 你删去一样 用的都是stdio.h的函数

迷雾少年 发表于 2015-5-10 12:16:02

只用到stdio.h

Anny黄 发表于 2015-5-10 12:17:10

迷雾少年 发表于 2015-5-10 12:15
stdlib.h根本用不到 vs自动加上去的 你删去一样 用的都是stdio.h的函数

:shock:好的,谢谢你啦!我试试运行和单步看看。。。

Anny黄 发表于 2015-5-10 21:52:40

迷雾少年 发表于 2015-5-10 12:16
只用到stdio.h

可是你这个动态赋值的方法有个小缺点,如果这个数组行列都好几百的话,我又要它每一行才过一段,这样写不是累死人。输出也,如果是a【100】【100】的数,按你这个来写,让它输出的话不是很累人。

迷雾少年 发表于 2015-5-12 17:42:01

Anny黄 发表于 2015-5-10 21:52
可是你这个动态赋值的方法有个小缺点,如果这个数组行列都好几百的话,我又要它每一行才过一段,这样写不 ...

不是说九宫格吗,怎么还有100的:sweat:

迷雾少年 发表于 2015-5-12 17:45:19

Anny黄 发表于 2015-5-10 21:52
可是你这个动态赋值的方法有个小缺点,如果这个数组行列都好几百的话,我又要它每一行才过一段,这样写不 ...

题目不是说九个数吗?{:1_1:}

Anny黄 发表于 2015-5-13 00:29:10

迷雾少年 发表于 2015-5-12 17:45
题目不是说九个数吗?

9个数只是个例题,我希望的答案是可以是不被常量限制的。他可以是N,但是答案照样可以解答出来,且方便不费神。我后来看来下甲鱼老师的答案,跟我的相似度差不多90%。不过如果只有9个数的话确实是你这个好点

迷雾少年 发表于 2015-5-13 06:31:48

Anny黄 发表于 2015-5-13 00:29
9个数只是个例题,我希望的答案是可以是不被常量限制的。他可以是N,但是答案照样可以解答出来,且方便不 ...

我按着题目做的,题目说9个,我怎么知道你想输入的不是9个,你又没说

迷雾少年 发表于 2015-5-13 06:33:05

你的代码是9个题目也是要求9个,难道我还弄个其他的?

1012662902 发表于 2015-5-13 21:25:37

for(i=0;i<3;i++){
   for(j=0;j<3;j++){
      if(i==1||j==1) printf("%d ",a);
      else printf("");
   }
   printf("\n");
}

1012662902 发表于 2015-5-13 21:26:44

若输入的行列不是3的时候,直接i==n/2||j==m/2即可

小白一只 发表于 2016-2-25 12:48:14

请问楼主小甲鱼的c语言练习题在哪里找到的,能发个链接吗?万分感谢

x51zqq 发表于 2016-2-25 20:17:31

/* 第6章 第5节 九宫格 */


#include <stdio.h>

void main()
{
        int a={ {1,2,3},{4,5,6},{7,8,9} };
        int j,k;

        for(j=0;j<3;j++)
        {
                for(k=0;k<3;k++)
                {
                        if(j==1 || k==1)        //输出 行或列是1的元素
                        {
                                printf("%d        ",a);
                        }
                        else
                        {
                                putchar('        ');
                        }
                }
                printf("\n\n");
        }
}
页: [1] 2
查看完整版本: 心情有点小激动,终于不用看答案,完全靠自己完成了小甲鱼老师的一道题!但是......