第10講 社員が自分に命令することを繰り返す(関数の再帰的使用)
第5話 社員が自分に命令を繰り返すことによる等差数列の和
初項・末項・交差をキーボードから入力してエンターすると、
等差数列の和が求められるプログラム解答例
#include<stdio.h>
int f(int a,int b,int c);
int main(){
int a,b,c;
printf("初項=");
scanf("%d",&a);
printf("末項=");
scanf("%d",&b);
printf("交差=");
scanf("%d",&c);
printf("初項%d、末項%d、交差%dのときの等差数列の和=",a,b,c);
printf("%d\n",f(a,b,c));
}
int f(int a,int b,int c){
int w;
if(b-c>=a){
w=b+f(a,b-c,c);
}
else{
return(a);
}
return(w);
}
頭が混乱します。
引数が3つです。
気をつけてほしい点は、末項bから始めることです。
今回は遡及の末たどり着いてた結末は初項だったのです。
さて、次の課題です。
n!=1×2×3×・・・×n
を計算させるプログラムを組んでください。
プログラムは前に作った1からnまでの和を求める
#include<stdio.h>
int f(char i);
int main(){
int n;
printf("いくつまでの和を計算しますか=");
scanf("%d",&n);
printf("1から%dまでの和=",n);
printf("%d\n",f(n));
}
int f(char i){
int w;
if(i-1>=0){
w=i+f(i-1);
}
else{
return(0);
}
return(w);
}
キーボードから数字を入れてエンターすると、
プログラムを改良してください。
初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門