プログラミング入門 情報科学演習 宿題 2013.11.11

Back


アルファベットのABCDEabcdeの10文字のどれか一つを文字コード表を利用して乱数により発生させます.そして,小文字であれば大文字に,大文字であれば小文字に変換して表示するプログラムを switch 文を使用して作成しましょう.このプログラムでは if 文は使用しないで下さい.また,乱数の発生部分でも条件分岐は使用しません.

My student number: s134099

b -> B

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

文字コード表では大文字と小文字は対応する文字それぞれが32番ずれていることに注意すると,乱数によりどちらかを作成させることが可能です.工夫してみてください.

解答例

/* ************************************************** */
/*                                                    */
/*      プログラミング入門  情報科学演習C7                            */
/*      レポート課題                                  */
/*      2013.11.11                                    */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      学生番号:                                    */
/*                                                    */
/*      氏名:                                        */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      この行以降に解答のプログラムを書くこと        */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

main()
{
	srand((unsigned) time(NULL));
	
	int letter;
	
	printf("My student number: s134099\n\n");
	
	letter = rand() % 5 + (rand() % 2) * 32 + 65;
	printf("%c -> ", letter);
	
	switch(letter){
		case 'a':
		case 'b':
		case 'c':
		case 'd':
		case 'e':	printf("%c\n", letter - 32);
					break;
		default:	printf("%c\n", letter + 32);
					break;
	}
	
	printf("\n------------------------\n\n");
	
	return(0);
}


Back