weijun_zhang 发表于 2021-4-15 17:51:30

S1E20 课后作业答疑

本帖最后由 weijun_zhang 于 2021-4-15 17:54 编辑

S1E20 课后作业动动手,第0题,请问我下面的代码错在哪里?
为何运行结果是
1234
5678
9 10 11 12
13 14 15 16
17 180

#include <stdio.h>

int main()
{
    int a={
          {1,2,3,4,5},
          {6,7,8,9,10},
          {11,12,13,14,15},
          {16,17,18,19,20},
                    };
        int i,j;
        int b;
        int k=0;
        for(i=0;i<4;i++)
        {
                for(j=0;j<5;j++)
                {
                  
                  b=a;
                  printf("b\[%d\]=%d ",k,b);
                  k++;
                }
                printf("\n");
        }
        k=0;
        for(i=0;i<5;i++)
        {
                for(j=0;j<4;j++)
                {
                  
                  a=b;
                  printf("%2d ",a);
                  k++;       
                }
                printf("\n");
        }

      return 0;
}

wp231957 发表于 2021-4-15 18:04:32

题呢,你光说第0题,鬼晓得是啥

weijun_zhang 发表于 2021-4-16 13:45:52

wp231957 发表于 2021-4-15 18:04
题呢,你光说第0题,鬼晓得是啥

https://fishc.com.cn/forum.php?mod=viewthread&tid=70877&extra=page%3D1%26filter%3Dtypeid%26typeid%3D570

动动手第0题,没法贴图片

weijun_zhang 发表于 2021-4-18 14:07:44

wp231957 发表于 2021-4-15 18:04
题呢,你光说第0题,鬼晓得是啥

老师,能帮忙解答下吗?   多谢

wp231957 发表于 2021-4-18 16:13:19

weijun_zhang 发表于 2021-4-18 14:07
老师,能帮忙解答下吗?   多谢

把题目贴出来呀

yixinwenxin 发表于 2021-4-18 19:25:29

本帖最后由 yixinwenxin 于 2021-4-18 19:58 编辑

#include <stdio.h>

int main()
{
    int a={
            {1,2,3,4,5},
            {6,7,8,9,10},
            {11,12,13,14,15},
            {16,17,18,19,20}};
      int i,j;
      int b;
      int k=0;
      for(i=0;i<4;i++)
      {
                for(j=0;j<5;j++)
                {
                  
                  b=a;
                  printf("b[%d]=%d ",k,b);
                  k++;
                }
                printf("\n");
      }
      k=0;
       for(i=0;i<4;i++)
      {
                for(j=0;j<5;j++)
                {
                  
                  //a=b;
                  printf("%2d ",a);
                  //k++;      
                }
                printf("\n");
      }

      return 0;
}



#include <stdio.h>

int main()
{
    int a[]={
            1,2,3,4,5,
            6,7,8,9,10,
            11,12,13,14,15,
            16,17,18,19,20};
      int i,j;
      int b;
      int k=0;
      for(i=0;i<4;i++)
      {
                for(j=0;j<5;j++)
                {
                  
                  b=a;
                  printf("b[%d]=%d ",k,b);
                  k++;
                }
                printf("\n");
      }
      k=0;
       for(i=0;i<5;i++)
      {
                for(j=0;j<4;j++)
                {
                  
                  //a=b;
                  printf("%2d ",a);
                  //k++;      
                }
                printf("\n");
      }

      return 0;
}

再说一句 \ 这转义字符...
printf("b\[%d\]=%d ",k,b);

weijun_zhang 发表于 2021-4-19 23:07:27

wp231957 发表于 2021-4-18 16:13
把题目贴出来呀

原题见附图,请帮忙指正我的代码哪里错误了?谢谢

wp231957 发表于 2021-4-20 10:12:33

weijun_zhang 发表于 2021-4-19 23:07
原题见附图,请帮忙指正我的代码哪里错误了?谢谢

既然是模板题目 ,就不能随便添加其他变量

#include <stdio.h>

int main()
{
    int a={
                {1,2,3,4,5},
                {6,7,8,9,10},
                {11,12,13,14,15},
                {16,17,18,19,20},
                };
   int i,j;
   for(i=0;i<4;i++)
   {
      for(j=0;j<5;j++)
      {
                printf(" %2d",a);
                if (j %4 ==0 && j!=0) printf("\n");
      }
    }
    printf("\n");   
    return 0;
}
页: [1]
查看完整版本: S1E20 课后作业答疑