• ベストアンサー

C言語の並び替えについて質問です。

1~15の数値が入ってる配列を同じ数が重ならないように5項のならびになるプログラムを教えてください。 最後に全ての並びをprintf表示お願いします。 例: int num[15] = {1~15} 10 2 3 4 12 11 12 5 4 3 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

じゃあ sizeof を使わない方向で: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char num[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0 }; for (int i = 0; i < strlen(num); i += 5) { printf("%d %d %d %d %d\n", num[i], num[i+1], num[i+2], num[i+3], num[i+4]); } return EXIT_SUCCESS; } というか, 自分で書いておいてアレだけどそこは突っ込むところじゃないだろ (苦笑)

その他の回答 (3)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

># なんでsizeofを使っちゃダメなんだ?さっぱりわからない。 そりゃ~もちろん、『まだ習っていないから』かと。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

後付けで「あれは使っちゃいけない。これもダメ」というのではなく、 最初にきちんと仕様を固めましょう。 # なんでsizeofを使っちゃダメなんだ?さっぱりわからない。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

日本語がおかしいけどこういうこと? #include <stdio.h> #include <stdlib.h> int main() { int num[15] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; for (int i = 0; i < sizeof num / sizeof num[0]; i += 5) { printf("%d %d %d %d %d\n", num[i], num[i+1], num[i+2], num[i+3], num[i+4]; } return EXIT_SUCCESS; }

dezaemon1120
質問者

補足

sizeofを使わないでできませんか? 宜しくお願いします。

関連するQ&A