高度プログラミング演習 (03) 練習問題 1. 台形の上底、下底、高さを入力してその面 積を出力するプログラムを作成せよ。 2. 5つの整数を入力して、その総和と平均値 を出力するプログラムを作成せよ。 3. 3けたの2進数を入力してそれを10進数で 出力するプログラムを作成せよ。 台形の面積 #include <stdio.h> void main() { int jotei,katei,takasa,menseki; printf("台形の面積を求めます。\n"); printf("上底、下底、高さ の値を入力してください。\n"); scanf("%d %d %d",&jotei,&katei,&takasa); menseki =(jotei+katei) * takasa / 2; printf("台形の面積は %d です。",menseki); } 総和と平均 #include <stdio.h> void main() { int a0,a1,a2,a3,a4; int wa,heikin; printf("数字を5つ入力してください: "); scanf("%d %d %d %d %d",&a0,&a1,&a2,&a3,&a4); wa = a0 + a1 + a2 + a3 +a4; heikin = wa/5; printf("和は %d です。平均は %d です。\n",wa,heikin); } 2進法 #include <stdio.h> void main() { int num=0,k4=0,k2=0,k1=0; printf(“ Input num by binary ?“); scanf(“%d ”,&num); k4 = num/100; k2 = (num-k4*100)/10; k1 = (num-k4*100-k2*10); printf(“ Decimal = %d \n”,k4*4+k2*2+k1); } 演習問題 1. 円の半径を入力してその円周、面積を出 力するプログラムを作成せよ。円周率は 3 としてよい。 2. 3けたの2進数を二つ入力してその和を 10進数で出力するプログラムを作成せよ。 円周 #include <stdio.h> void main() { int hanke,enshu,menseki; printf(“円の円周と面積を求めます。\n"); printf(“半径の値を入力してください。\n"); scanf("%d",&hanke); enshu= 2 * 3 * hanke; menseki = 3 * r * r ; printf(“円周は %d です。面積は %d です。,enshu,menseki); } 2進法足し算 #include <stdio.h> void main() { int num=0,k4=0,k2=0,k1=0; int num2=0,k24=0,k22=0,k21=0; printf(“ Input num by binary ?“); scanf(“%d %d”,&num,&num2); k4 = num/100; k2 = (num-k4*100)/10; k1 = (num-k4*100-k2*10); k24 = num2/100; k22 = (num2-k24*100)/10; k21 = (num2-k24*100-k2*10); printf(“ Decimal = %d \n”,(k4*4+k2*2+k1)+(k24*4+k22*2+k21)); } 小数点を扱う変数 #include <stdio.h> void main() { double num1=10; int num2=10; printf(“%f \n”,num1/3); printf(“%d \n”,num2/3); } 台形の面積 #include <stdio.h> void main() { double jotei,katei,takasa,menseki; printf("台形の面積を求めます。\n"); printf("上底、下底、高さ の値を入力してください。\n"); scanf("%f %f %f",&jotei,&katei,&takasa); menseki =(jotei+katei) * takasa / 2; printf("台形の面積は %f です。",menseki); } 繰り返し計算 • 1から10までの累積和を求めるプログラム。 #include <stdio.h> void main() { int sum=0; sum = 1+2+3+4+5+6+7+8+9+10; printf(“%d\n”,sum); } • 指定された数字から指定された数字までの 総和を求めるプログラム??? 繰り返し計算 • for 文 for (初期条件; 繰り返し計算が続く条件; 変化) { } #include <stdio.h> void main() { int sum=0,i=0; for(i=1; i<11; i++) { sum = sum + i; } printf(“%d\n”,sum); } 繰り返し計算 • 1から指定された数字までの総和を求めるプ ログラム #include <stdio.h> void main() { int sum=0,i=0,n=0; printf(“ N= “); scanf(“%d”,&n); for(i=1; i<n+1; i++) { sum = sum + i; } printf(“%d\n”,sum); } 練習問題 1. 指定された数字から指定された数字までの 累積和を求めるプログラムを作成せよ。 – 4から38までの累積和 – Σ (4+5+6+…. 37+38) 2. 入力した数字の階乗を求めるプログラムを 作成せよ。 繰り返し計算 その2 • while 文 while (計算が続く条件) { } #include <stdio.h> void main() { int sum=0,i=0,n=0; printf(“ N= “); scanf(“%d”,&n); while(i<n+1) { sum = sum + i; i = i + 1; } printf(“%d\n”,sum); } 練習問題 1. 入力した数字の階乗を求めるプログラムを 作成せよ。 2. 1年 0.01% の利子がつく複利預金で、入金 したお金が目標金額に達する年を求めるプ ログラムを作成せよ。 3. 入力した10進数を2進数で表示するプログ ラムを作成せよ。 演習問題 1. ある数字は1日ごとに3倍になるとする。入力した 数字が、入力した日数後にいくらになっているかを 表示するプログラムを作成せよ。 2. N+1 が N*N である数列で、ある初期値に対して ΣNが目標値に達するまで何回足し算が行われる か求めるプログラム。 • N=2,LAST=10 • • • 2*2 =4 2*2+3*3=13 足し算は1回
© Copyright 2024 ExpyDoc