プログラミング入門II 宿題 2019.06.03

Back


下の出力結果にあるような足し算プログラムを作成します.0から100までの整数を10個乱数を用いて発生させて,5つずつに分けたそれぞれの足し算について筆算的な表示を行いましょう.

My student number: s186099

    38      94      52       1      56  
+)  34  +)  21  +)  60  +) 100  +)  78  
  ----    ----    ----    ----    ----  
    72     115     112     101     134  

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

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

乱数を格納するために配列が必要です.いくつかの方法が考えられます.一番簡素なものでは, for 文のための変数 i と,あとは配列1個でできます.
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください.

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


解答例

// ************************************************** 
//                                                    
//      プログラミング入門II レポート課題                                    
//      2019.06.03                                    
//                                                    
// ************************************************** 
//                                                    
//      学生番号:                                     
//                                                    
//      氏名:                                         
//                                                    
// ************************************************** 
//                                                    
//      
              
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	srand((unsigned) time(NULL));
	
	printf("My student number: s186099\n\n");
	
	int i, num[10];
	
	for(i=0; i<=9; i++)
	{
		num[i] = rand() % 101;
	}
	
	for(i=0; i<=4; i++)
	{
		printf("   %3d  ", num[i]);
	}
	
	printf("\n");
	
	for(i=5; i<=9; i++)
	{
		printf("+) %3d  ", num[i]);
	}

	printf("\n");
	
	for(i=0; i<=4; i++)
	{
		printf("  ----  ");
	}
	
	printf("\n");
	
	for(i=0; i<=4; i++)
	{
		printf("   %3d  ", num[i] + num[i+5]);
	}
	
	printf("\n\n---------------------------\n\n");
	
	
	return 0;
}

別解

// ************************************************** 
//                                                    
//      プログラミング入門II レポート課題                                    
//      2019.06.03                                    
//                                                    
// ************************************************** 
//                                                    
//      学生番号:                                     
//                                                    
//      氏名:                                         
//                                                    
// ************************************************** 
//                                                    
//      
              
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	srand((unsigned) time(NULL));
	
	printf("My student number: s186099\n\n");
	
	int i, num1[5], num2[5], sum;
	
	for(i=0; i<=4; i++)
	{
		num1[i] = rand() % 101;
		printf("   %3d  ", num1[i]);
	}
	
	printf("\n");
	
	for(i=0; i<=4; i++)
	{
		num2[i] = rand() % 101;
		printf("+) %3d  ", num2[i]);
	}
	
	printf("\n");
	
	for(i=0; i<=4; i++)
	{
		printf("  ----  ");
	}
	
	printf("\n");
	
	for(i=0; i<=4; i++)
	{
		printf("   %3d  ", num1[i] + num2[i]);
	}
	
	printf("\n\n---------------------------\n\n");
	
	return 0;
}


Back