性格いい人が優勝

要素数が8である配列aの全要素を逆順に並び替え、その結果を表示するプログラムをfor文を用いて作成せよ。
#include <stdio.h>
int main(void){
int i;
int temp;
int a[8]={57,28,45,62,18,36,82,77};
for(i=0;i<8;i++){
temp=a[i];
a[i]=a[7-i];
a[7-i]=temp;
}
for(i=o;i<8;i++)
printf("a[%d]=%d",i,a[i]);
retrun(0);
}
で合ってますか?
違っていればご指摘お願いします。

質問者からの補足コメント

  • #include <stdio.h>
    int main(void){
    int i;
    int temp;
    int a[8]={57,28,45,62,18,36,82,77};
    for(i=0;i<8;i++){
    temp=a[i];
    a[i]=a[7-i];
    a[7-i]=temp;
    }
    for(i=o;i<8;i++)
    printf("a[%d]=%d",i,a[i]);
    retrun(0);
    }
    の6行目の8を4に変えたら上手くいきました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/01/28 12:21

A 回答 (3件)

自分がCPUになりきったつもりでやってみると、これだと元に戻っちゃうぞ、と気がつく。

    • good
    • 0

駄目。

元の順で出力されるはず。
i>3での処理は不要。
この回答への補足あり
    • good
    • 0

a[0] はi=0のときと、i=7のとき a[7]の2回、入れ替えられてませんか?



>で合ってますか?
動かしてみれば一発では?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!