(1) 1から入力した値nまでの和を求めるプログラムをfor文で作成せよ
#include<stdio.h> void main() { int i, n, sum; printf("n="); scanf("%d", &n); sum = 0; for(i=1; i<=n; i++) { sum += i; } printf("和は%dです.¥n", sum); }
(2) (1)を応用して,データ(例えば実験データなど)の件数 n を整数で入力し,続いてその件数分データを入力すると, データの合計と平均値と最大値を求め画面に表示するプログラムをfor文を用いて作成せよ
#include<stdio.h> void main() { int i, n; float data, sum, ave, max; sum = 0.0; printf("n="); scanf("%d", &n); for(i=0;i<n;i++){ printf("data%d=", i+1); scanf("%f", &data); sum += data; if(i == 0){ max = data; }else{ if(max < data){ max = data; } } } ave = sum/(float)n; printf("データの合計は%fです.¥n", sum); printf("データの平均値は%fです.¥n", ave); printf("データの最大値は%fです.¥n", max); }
(3) 1~100までの数字で奇数だけを表示するプログラムを作成せよ
#include <stdio.h> void main() { int i; for(i=1;i<=100;i++){ if(i%2 == 1){ printf("%d¥n", i); } } }
(4) (3)の問題で,奇数の個数を数えその数を表示するプログラムを作成せよ
#include <stdio.h> void main() { int i, count; count = 0; for(i=1;i<=100;i++){ if(i%2 == 1){ count++; } } printf("奇数の個数は%dです.¥n", count); }
(5) つぎのような数列をフィボナッチ数列という
1 1 2 3 5 8 13 21 34 55 89
この数列は第n項は第n-1項と第n-2項を加えたものであり,第1項と第2項は1であるから次のように定義される
これを第20項まで計算するプログラムを作成しなさい
#include <stdio.h> void main() { int i, f1, f2, f3; f1 = 1; f2 = 1; for(i=0;i<20;i++){ if(i==0){ printf("%d¥n", f1); } else if(i==1){ printf("%d¥n", f2); } else{ f3 = f1 + f2; printf("%d¥n", f3); f1 = f2; f2 = f3; } } }