ここで,単に表示を逆にするのではなく,配列の要素を移動させることに注意せよ. すなわち,以下のプログラムの指定部分の処理を考えること.
int i, array[8]={1, 2, 3, 4, 5, 6, 7, 8}, tmp; printf("My student number: s104099\n\n"); この部分の処理を考える for(i=0; i<=7; i++) printf("%2d", array[i]); printf("\n\n------------------------------------\n"); |
結果の表示は文字の配置や空行の挿入についても以下のようになるものとし,1 行目に必ず自分の学生番号を表示するよ うにすること.また,末尾にハイフンによるライン を引いておくこと.
My student number: s104099 8 7 6 5 4 3 2 1 ----------------------------------------------- |
ヒント
for 文を利 用して,変数 tmp に一時的に値を格納しておくことで値の入れ換えを順に行ないます.
注意
関数 main() のブロック(中括弧 { } の中)ではTAB1個分揃 えて字下げ.先頭位置は揃うこと.
for 文の中ではブロックを示す中括弧の有無にかかわらず1TAB文字下 げ.ただし,先頭は同レベルの文(処理)であれば揃えること.また,中括 弧の位置も教科書のp.39の黒四角の枠内の例を見て注意すること.
これまでの解答例を参考に適宜空行をプログラム中に入れること.これによりブ ロック単位の視認性が良くなり,わかりやすくなる場合が多い.ただし, for や if の直後には不要である.
/* ************************************************** */ /* */ /* 情報科学演習 C6 C7 */ /* レポート課題 */ /* 2011.6.27 */ /* */ /* ************************************************** */ /* */ /* 学生番号: */ /* */ /* 氏名: */ /* */ /* ************************************************** */ /* */ /* この行以降に解答のプログラムを書くこと */ #include <stdio.h> main() { int i, array[8]={1, 2, 3, 4, 5, 6, 7, 8}, tmp; printf("My student number: s104099\n\n"); for(i=0; i<=3; i++){ tmp = array[i]; array[i] = array[7-i]; array[7-i] = tmp; } for(i=0; i<=7; i++) printf("%2d", array[i]); printf("\n\n--------------------------------\n"); return(0); } |