注册 登录
编程论坛 C++教室

大佬们,二维数组a[3][3]按升序排序,这个程序哪错了?

萧蓝儿 发布于 2022-08-16 09:24, 844 次点击
//题目:要求对二维数组a[3][3]按升序排序(选择法排序)
#include <stdio.h>
main()
{
    int a[3][3];
    int i,j,t,z;
   
    printf("请输入a[3][3]的值:\n");
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",a[i][j]);

   
    for(i=0;i<3;i++)
    for(j=0;j<2;j++)
    {
        for(z=j+1;z<3;z++)
        {
            if(a[i][j]>a[i][z])
            {
                t=a[i][j];
                a[i][j]=a[i][z];
                a[i][z]=t;
            
            }
        }
    }



    for(j=0;j<3;j++)
    for(i=0;i<2;i++)
    {
        for(z=i+1;z<3;z++)
        {
            if(a[i][j]>a[z][j])
            {
                t=a[i][j];
                a[i][j]=a[z][j];
                a[z][j]=t;
            
            }
            
        }
        
    }

    printf("请输出a[3][3]的排序结果:\n");
    for(i=0;i<3;i++)
    {
        printf("\n")
        for(j=0;j<3;j++)
            printf("%d",a[i][j]);
        printf("\n")

    }




}
1 回复
#2
rjsp2022-08-16 10:23
这个程序哪错了?
哪里错了,应该你告诉大家。
为什么算错误,怎么改,才是大家应该教你的。

随便编译一下
prog.c:2:1: error: return type defaults to 'int' [-Wimplicit-int]
    2 | main()
      | ^~~~


prog.c:10:21: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'int' [-Wformat=]
   10 |             scanf("%d",a[i][j]);
      |                    ~^  ~~~~~~~
      |                     |      |
      |                     int *  int


prog.c:50:21: error: expected ';' before 'for'
   50 |         printf("\n")
      |                     ^
      |                     ;
   51 |         for(j=0;j<3;j++)
      |         ~~~   


prog.c:53:21: error: expected ';' before '}' token
   53 |         printf("\n")
      |                     ^
      |                     ;
   54 |
   55 |     }
      |     ~

1