プログラミング入門I 宿題 2018.11.05

Back


3桁の正の8進数と4桁の正の16進数をそれぞれ1つずつ発生させて表示するプログラムを作成せよ.

My student number: s186099

Octal number with 3 digits: 507
Hexdecimal number with 4 digits: 63ad

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

なお,結果の出力では必ず最初の行に自分の学生番号を,最後にハイフンによるラインをつけること.無い場合には減点するので注意.

10進数で3桁だったら900と100という数字がキーになっていました.他の進数に変わっても同じような考え方でいけます.また,別に10進数に直さなくても8進数や16進数で同じように考えると楽です.
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください.

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


解答例

// ************************************************** 
//                                                    
//      レポート課題                                    
//      2018.11.05                                    
//                                                    
// ************************************************** 
//                                                    
//      学生番号:                                     
//                                                    
//      氏名:                                         
//                                                    
// ************************************************** 
//                                                    
//      
              
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	srand((unsigned) time(NULL));
	
	int num1 = rand() % 0700 + 0100;
	int num2 = rand() % 0xf000 + 0x1000;
	
	printf("My student number: s186099\n\n");
	
	printf("Octal number with 3 digits: %o\n", num1);
	printf("Hexdecimal number with 4 digits: %x\n", num2);
	
	printf("\n-------------------\n\n");
	
	return 0;
}


Back