哪位大佬可以看看哪里错了

来源:6-6 数组的应用(二)

慕粉1637296256

2018-11-17 09:58

# include <stdio.h>

     int main()

{

int i,j,s1=0,s2=0;

int a[5][5];

    for(i=0;i<5;i++)

     for(j=0;j<5;j++)

printf("please input :");

scanf("%d",a[i][j]);

    for(i=0;i<5;i++)// 判断每行元素之和是否相等

    {

      int s=0;

   for(j=0;j<5;j++)

   {

  s+=a[i][j];

   }

 for(j=0;j<5;j++)// 判断每列元素之和是否相等

 {

  int s=0;

for(i=0;i<5;i++)

{

  s+=a[i][j];

}

for(i=0;i<5;i++)

  {     s1+=a[i++][i++];

  }   

    for(i=0;i<5;i++)

 {

     s2+=a[i][4-i];

    }

    if(s==s1&&s1==s2)

 

   printf("这是幻方阵\n");

else 

  printf("这不是幻方阵\n");

  printf("%-3d",a[i][j]);

 printf("\n");

  return 0;

}

}

}


写回答 关注

4回答

  • 慕慕0175608
    2019-01-20 18:54:32

    你的for循环没有打{}这个符号!

  • 慕前端4634638
    2018-12-06 20:23:14
    #include <stdio.h>
    #define m 5
    #define n 5
    int main()
    { 
        int i,j,s1=0,s2=0,l_s = 0,h_s = 0; 
        int a[m][n]; for(i=0;i<m;i++) 
        {   
            for(j=0;j<n;j++)  
            {    
                printf(" please input :");   
                scanf("%d",&a[i][j]);   
                if(i == 0)   
                l_s += a[0][j];    
                getchar();       
             }  
             h_s += a[i][0];  
        }  
        for(i=0;i<m;i++)// 判断每行之和是否相等  
        {  
            for(j = 0;j < n;j++)  
            {   
                s1 += a[i][j];       // 判断每列之和是否相等    
                s2 += a[j][i];  
            }  
            if(s1 != l_s || s2 != h_s)                          //  有不等于 直接结束程序    
            {    
                printf("不是幻方阵!\n");    
                return 0;       //   结束程序;    
            }   
            else   
            {
                s1=0;     
                s2=0;     //重新接收和    
            }  
        }  
            printf("是幻方阵\n"); 
            //printf("%-3d",a[i][j]);    //这句 不太看得懂什么意思我就不改了  
            //printf("\n"); 
            return 0; 
    }
    
    
    //不知道你想完成的是不是这个


  • 慕粉1637296256
    2018-12-01 10:37:44

    好的好的,我试下。

  • qq_追风少年_ozFGLY
    2018-11-23 18:03:38

    第一:你为什么把printf("please input :"); 放在for循环中,它不会反复打印吗?把这个提到循环之外去。

    第二:你的地址符没有打上去,就是scanf中的&。


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题