情報科学演習 宿題 2014.11.10

Back


1から30までの正の整数を乱数により1つ発生させ,それを今月の日にちとする.その日が何曜日かを以下のように答えるプログラムを作成せよ.

先頭の行には学生番号を, 最後にはハイフンによるラインを出力すること.

My student number: s144099

The 11th of November is Tuesday.

---------------------

英語での序数は語尾が変化することも考慮します.st, nd, rd, th を使い分けてください.
解答用紙を使用する際には,まず,科目名の不要な方を削除してください.また,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください.

指定の解答用紙を使用していない,コンパイルエラーが出る,実行時に警告が出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください.


解答例

    /* ************************************************** */
    /*                                                    */
    /*      プログラミング入門  情報科学演習C7                            */
    /*      レポート課題                                  */
    /*      2014.11.10                                    */
    /*                                                    */
    /* ************************************************** */
    /*                                                    */
    /*      学生番号:                                    */
    /*                                                    */
    /*      氏名:                                        */
    /*                                                    */
    /* ************************************************** */
    /*                                                    */
    /*      この行以降に解答のプログラムを書くこと        */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    main()
    {
    	srand((unsigned) time(NULL));
    	
    	int day, week;
    	
    	day = rand() % 30 + 1;
    	week = day % 7;
    	
    	printf("My student number: s144099\n\n");
    	printf("The %d", day);
    	
    	if(day%10==1 && day!=11)
    		printf("st ");
    	else if(day%10==2 && day!=12)
    		printf("nd ");
    	else if(day%10==3 && day!=13)
    		printf("rd ");
    	else
    		printf("th ");
    		
    	printf("of November is ");
    	
    	switch(week){
    		case 0:	printf("Friday.");
    					break;
    		case 1:	printf("Saturday.");
    					break;
    		case 2:	printf("Sunday.");
    					break;
    		case 3:	printf("Monday.");
    					break;
    		case 4:	printf("Tuesday.");
    					break;
    		case 5:	printf("Wednesday.");
    					break;
    		default:	printf("Thursday.");
    					break;
    	}
    	
    	printf("\n\n---------------------\n\n");
    	
    	return(0);
    }
    


    Back