情報科学演習 宿題 2011.06.27

Back


要素の数が8個の配列を用意する.その配列に最初は1から6までの数字を代入し ておいて,その後で,要素の順番を逆にする操作を行い,以下のように結果表示 するプログラムを作成せよ.

ここで,単に表示を逆にするのではなく,配列の要素を移動させることに注意せよ. すなわち,以下のプログラムの指定部分の処理を考えること.

    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 に一時的に値を格納しておくことで値の入れ換えを順に行ないます.

注意

解答用紙
解答例

/* ************************************************** */
/*                                                    */
/*      情報科学演習 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);
}


Back