- ベストアンサー
C言語の並び替えについて質問です。
1~15の数値が入ってる配列を同じ数が重ならないように5項のならびになるプログラムを教えてください。 最後に全ての並びをprintf表示お願いします。 例: int num[15] = {1~15} 10 2 3 4 12 11 12 5 4 3 お願いします。
- みんなの回答 (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)
># なんでsizeofを使っちゃダメなんだ?さっぱりわからない。 そりゃ~もちろん、『まだ習っていないから』かと。
- asuncion
- ベストアンサー率33% (2127/6289)
後付けで「あれは使っちゃいけない。これもダメ」というのではなく、 最初にきちんと仕様を固めましょう。 # なんでsizeofを使っちゃダメなんだ?さっぱりわからない。
- Tacosan
- ベストアンサー率23% (3656/15482)
日本語がおかしいけどこういうこと? #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; }
補足
sizeofを使わないでできませんか? 宜しくお願いします。