0

私の課題は次のとおりです。ユーザーに 1 ~ 16 の数字を任意の順序で入力するように求めるプログラムを作成し、それらの数字を 4 x 4 の配置で表示します。私のプログラムはコンパイルして実行しますが、実行すると次のように表示されます。

num2 num5 num 7 num9
num3 num16 num15 num14
num4 num6 num8 num10
num12 num11 num 13 num1

それ以外の:

15 16 2 1
3 5 7 9
6 8 10 11
13 12 14 4

私のコードは次のとおりです。

#include <stdio.h>

int main (void)

{
int num1, num2, num3, num4, num5, num6, num7, num8, num9, num10, num11, num12, num13, num14, num15, num16;

printf ( "Enter number 1-16 in any order: ");

scanf ( "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", &num1, &num2, &num3, &num4, &num5, &num6, &num7, &num8, &num9, &num10, &num11, &num12, &num13, &num14, &num15, &num16);

printf ( "%d%d%d%d\t%d%d%d%d\t%d%d%d%d\t%d%d%d%d",num1,num2, num3, num4, num5, num6, num7, num8, num9, num10, num11, num12, num13, num14, num15, num16);

return 0;
}

私は何を間違っていますか?T

配列やループではなく、単純な関数でこれを使用する必要があります。

行/対角線/列の合計を見つける必要があります。

4

4 に答える 4

0

このようなものを使用してください

printf ( "%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d",num1,num2, num3, num4, num5, num6, num7, num8, num9, num10, num11, num12, num13, num14, num15, num16);

\t水平方向のスペースに使用されているものを使用しています\n。代わりに使用すると、次の行に移動します... 1 桁の no の出力は次のようになります

5 6 7 8
8 9 0 1
1 2 3 4

これを使用して、1桁以上の入力用に拡張してください...お役に立てば幸いです!!

于 2013-07-22T08:18:12.930 に答える
0

アプリケーションをコンパイルして実行しましたが、数字の前に「num」が表示されません。実際、%d を使用して数値のみを出力している場合、その出力がどのように得られるのか理解できません。

\t (タブ スペース) を\n (改行)に置き換えるだけです。期待どおりに動作するはずです。

于 2013-07-22T08:21:10.407 に答える
0

このサイトを使用してプログラムをコンパイルして実行し、少し変更を加えたところ、次のようになりました。 ここに画像の説明を入力

正常に動作

私が行った唯一の変更は

printf ( "\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n%d %d %d %d",num1,num2, num3, num4, num5, num6, num7, num8, num9, num10, num11, num12, num13, num14, num15, num16);
于 2013-07-22T08:19:28.920 に答える