情報科学演習 宿題 2013.01.07

Back


1桁の正の整数を乱数を使用して10個発生させ,それらを以下の表示のように規則的に加えた和を求めるプログラムを作成せよ.

なお,表示においては先頭の行には自分の学生番号を,最後にはハイフンによるラインを出力すること.

My student number: s124099

4 8 7 1 6 3 9 5 8 7
4*1 + 8*2 + 7*3 + 1*4 + 6*5 + 3*6 + 9*7 + 5*8 + 8*9 + 7*10
= 4 + 16 + 21 + 4 + 30 + 18 + 63 + 40 + 72 + 70 = 338

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


解答例

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

main()
{
	srand((unsigned) time(NULL));
	
	int i, ary[10], sum=0;
	
	printf("My student number: s124099\n\n");
	
	for(i=0; i<=9; i++){
		ary[i] = rand() % 9 + 1;
		printf("%d ", ary[i]);
	}
	
	printf("\n");
	
	for(i=0; i<=8; i++)
		printf("%d*%d + ", ary[i], i+1);
	
	printf("%d*10\n= ", ary[9]);
	
	for(i=0; i<=8; i++){
		printf("%d + ", ary[i]*(i+1));
		sum += ary[i]*(i+1);
	}
	
	printf("%d = %d\n", ary[9]*10, sum+=ary[9]*10);
	
	printf("\n------------------------------\n\n");
	
	return(0);
}


Back