0

对于 c 编码器来说,接下来的内容肯定会非常简单,但我正在编写一个小程序来建模一些名为 gomoku 的游戏。对于用户,您必须输入一个整数 N,它对应于一个由“N 乘 N”整数组成的“N 乘 N”正方形。

所以代码运行得很好,但我有一些简单的问题:当我输入“N 次 N”整数时,我做了一些

    int N;
    scanf("%d",&N);
    char c[N][N];
    while (i<N){
        scanf("%s\n",&c[i]); 
        i++;
    }

然后我将每个 char 转换为 intc[i]以进行一些涉及 的计算c[i][j],这是非常不自然的。但是如果我必须声明 int c[N][N],就不可能检索到与c[i][j]我在 while 循环运行时输入的整数相同的整数。

有没有人有想法声明 int c[N][N],输入整数,然后在使用整数计算时进行相同的计算c[i][j]

最好的,纽本

4

1 回答 1

1

您不必读取 char 然后将其转换为 int。你可以简单地读取整数:

for(int i = 0; i < N; ++i)
    scanf("%d", &c[i]);       //of course c has to be int** type

你确定你只想读取 N 个整数吗?不是整个数组的 N N?如果您想将 N N 个对象读取到数组中,代码应如下所示:

int N, i, j;
scanf("%d",&N);
int c[N][N];

for(i = 0; i < N; ++i)
{
    for(j = 0; j < N; ++j)
    {
        scanf("%d", &c[i][j]);
        /* do something */
    }
}
于 2012-07-05T20:35:37.147 回答