c
1#include <stdio.h> 2#define NUMBER 6 3int main(){ 4 int i; 5 int x[NUMBER]; 6 7 for (i = 0; i < NUMBER; i++) { 8 printf("x[%d] = ", i); 9 scanf("%d", &x[i]); 10 } 11 12 for (i = 0; i < (NUMBER-1)/2; i++) { 13 int temp = x[i]; 14 x[i] = x[(NUMBER-1) - i]; 15 x[(NUMBER-1) - i] = temp; 16 } 17 puts("反転しました。"); 18 for (i = 0; i < NUMBER; i++) { 19 printf("x[%d] = %d\n", i, x[i]); 20 } 21 22 return 0; 23} 24
か
c
1#include <stdio.h> 2#define NUMBER 7 3int main(){ 4 int i; 5 int x[NUMBER]; 6 7 for (i = 0; i < NUMBER; i++) { 8 printf("x[%d] = ", i); 9 scanf("%d", &x[i]); 10 } 11 12 for (i = 0; i < NUMBER/2; i++) { 13 int temp = x[i]; 14 x[i] = x[(NUMBER-1) - i]; 15 x[(NUMBER-1) - i] = temp; 16 } 17 puts("反転しました。"); 18 for (i = 0; i < NUMBER; i++) { 19 printf("x[%d] = %d\n", i, x[i]); 20 } 21 22 return 0; 23} 24
どちらもちゃんと、反転ができたのですが、本にはint x[7]の反転用のfor文にfor (i = 0; i < 3; i++)
とあったので配列の**(要素数 - 1) / 2 **かと思ったのですが、それは正しいのですか?
配列の要素数 / 2
か
(配列の要素数 - 1) / 2
のどちらが正しいのですか?
また、添字が偶数で終わる時と、奇数で終わるときでは処理に違いは出るのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/04/22 04:34