麦香洋芋 发表于 2023-11-25 16:17:28

输入问题

从键盘上输入9个整数,(对照九宫格的形式,输入三行,每行输入三个数) 保存在二维数组中,按数组原来位置输出第一行和第一列的所有元素
在小甲鱼学C的视频里有一道这样的题,答案如下。小甲鱼后来说可以改一下输入,让输入也可以变成九宫格的形式。像下面这样,有人知道怎么改嘛,谢谢!
123
456
789

#include<stdio.h>
int main()
{
        int i,j,a;
        for(i=0;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        printf("a[%d][%d]=",i,j);
                        scanf("%d",&a);
               
                }

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

return 0;
}

FishC_GPT 发表于 2023-11-25 16:17:42

你可以使用二维数组来保存输入的九宫格形式的整数。首先声明一个3x3的整型二维数组,然后使用嵌套循环来逐个输入九个数。最后,再使用一个循环输出第一行和第一列的所有元素。

下面是示例代码:

#include <stdio.h>

int main()
{
    int grid;
    int i, j;

    printf("请输入九宫格形式的整数(共9个):\n");
    for (i = 0; i < 3; i++) {
      for (j = 0; j < 3; j++) {
            scanf("%d", &grid);
      }
    }

    printf("第一行的元素为:");
    for (j = 0; j < 3; j++) {
      printf("%d ", grid);
    }
    printf("\n");

    printf("第一列的元素为:");
    for (i = 0; i < 3; i++) {
      printf("%d ", grid);
    }
    printf("\n");

    return 0;
}

这段代码先通过循环输入九个整数,然后分别通过循环输出第一行和第一列的所有元素。注意,这里假设用户会按照九宫格的格式输入九个整数,所以没有添加额外的验证输入的代码。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 输入问题