高度プログラミング演習 (04) 先週の練習問題回答例 1年 0.01% の利子がつく複利預金で、入力したお金が目標金額に達する年を求 めるプログラムを作成せよ。 include <stdio.h> void main() { int year; double nyukin,now,goal; printf("入金 : "); scanf("%lf",&nyukin); printf("目標 : "); scanf("%lf",&goal); for(year=1,now=nyukin;now < goal; year++){ now = now + now * 0.01/100; } printf("%10.0f 円に毎年0.01%%利子がついて%10.0f円になるには%d 年かかります\n", nyukin,goal,year); } 先週の練習問題回答例 入力した10進数を2進数で表示するプログラムを作成せよ。 include <stdio.h> void main() { int shin=2,num; printf(" 元の数字を入力して下さい: "); scanf("%d",&num); while(num > shin-1){ printf("%d ",num%shin); // num - (num/shin)*sshin ; num = num/shin; } printf("%d \n",num); } 2 6 0 3 1 1 演習問題回答例 ある数字は1日ごとに3倍になるとする。入力した数字が、入力した日数後にいくらに なっているかを表示するプログラムを作成せよ。 include <stdio.h> void main() { int shoki,day,nannichi,now; printf("初期値を入力して下さい。: "); scanf("%d",&shoki); now = shoki; printf("何日後の結果が見たいですか?: "); scanf("%d",&nannichi); for(day=1;day<=nannichi;day++) now = now * 3; printf("初期値%d は毎日3倍されると%d日後には%dになります。\n", shoki,nannichi,now); } 演習問題回答例 n Σ(i*i) >= X i=1 を満たす、Σ(i*i)の値が一番小さい n の値を求めなさい #include <stdio.h> void main() { int i,sum,max; printf("目標値を入力して下さい。: "); scanf("%d",&max); for(i=1;sum < max;i++) sum = sum + i * i; printf("%d 回繰り返せば %d を越えます。その時の値は %d です。\n", i,max,sum); } 今日の目標 • 変数の配列というものを理解し、使えるように なる。 配列 • 100個の数字を扱いたい – int a[100]; • a[0] から a[99] までが有効。 • 2×2 の行列 – int a[2][2]; 乱数 • rand() • 100未満の数の乱数 – rand() % 100 • 100個の100未満の数の乱数を作る。 #include <stdio.h> #include <stdlib.h> void main() { int i=0; int data[100]; for(i=0;i<100;i++) data[i]=rand()%100; } 練習問題 1. 100未満の100個の乱数を作りその平均値 を求めるプログラムを作成せよ。 2. 10つの数字を入力してその平均値を求める プログラムを作成せよ。 printf() のけたそろえ • printf(“%5d %5d”,a,b); #include<stdio.h> void main() { int a=0,b=0; scanf(“%d %d”,&a,&b); printf(“%d %d\n”,a,b); printf(“%5d %5d\n”,a,b); } 練習問題 • 3×3 の行列の要素を100未満の乱数で作成 し、それをフォーマットをそろえて表示するプ ロラムを作成せよ。 78 98 9 4 12 11 23 1 1 78 98 9 4 12 11 23 1 1 練習問題 • 2×3 の行列と3×1の行列をそれぞれ入力で き、それらの行列の掛け算をするプログラム を作成せよ。 演習問題 1. 入力した2×2の行列の行列式の値を求め るプログラムを作成せよ。 2. 2つの3×3 の行列の各要素を入力でき、そ れらの行列の足し算および引き算をするプ ログラムを作成せよ。
© Copyright 2024 ExpyDoc