おさえておきたいプログラミングの基本
この問題を解くためには…
整数型の配列変数、aを、以下の条件で作り、その結果を以下の実行結果にならい表示しなさい。
以下のプログラムは、キーボードから2つの整数の値を入力し、その和を求めるものである。このとき、このプログラムを以下のように改造しなさい。
prob6-1:main.c#include <stdio.h>
// 関数のプロトタイプ宣言
int add(int,int);
int main(int argc,char** argv){
int a,b;
int result;
printf("a=");
scanf("%d",&a); // 1つ目の数、aを入力
printf("b=");
scanf("%d",&b); // 2つ目の数、bを入力
result = add(a,b); // 3つ目の数、cを入力
printf("%d + %d = %d\n",a,b,result); // 計算結果を出力
return 0;
}
// 二つの整数の和を求める関数
int add(int n1,int n2){
return n1 + n2;
}
実行結果の例
同様に、二つの数の差を求める関数、sub()を追加し、最後に、その結果も表示するようにしなさい。
期待される実行結果の例以下のプログラムは、キーボードから2つの整数値を入力し、その積を求め表示するものです。
prob6-2:main.c#include <stdio.h>
// 関数のプロトタイプ宣言
int mul(int,int);
int main(int argc,char** argv){
int a,b;
int result;
printf("a=");
scanf("%d",&a); // 1つ目の数、aを入力
printf("b=");
scanf("%d",&b); // 2つ目の数、bを入力
result = mul(a,b); // 3つ目の数、cを入力
printf("%d * %d = %d\n",a,b,result); // 計算結果を出力
return 0;
}
// 二つの整数の和を求める関数
int mul(int n1,int n2){
return n1 * n2;
}
これを実行すると、以下のようになります。
実行結果このプログラムを以下のように改造しなさい。
以下のプログラムは、三角形の底辺と高さを求めるプログラムを書きかけているものである。
prob6-3:main.c#include <stdio.h>
int main(int argc,char** argv){
double teihen,takasa; // 底辺と高さを入れる変数
double menseki; // 三角形の面積
printf("底辺=");
scanf("%lf",&teihen); // 1つ目の数、aを入力
printf("高さ=");
scanf("%lf",&takasa); // 2つ目の数、bを入力
return 0;
}
このプログラムに、以下の関数を追加し、実行結果の例のように出力されるよう、プログラムに処理を追加しなさい。
期待される実行結果の例関数名 | triangle |
---|---|
処理内容 | 与えられた三角形の底辺と高さを元に、面積を計算して返す。 |
引数 | 底辺と高さ(ともにdouble) |
戻り値 | 三角形の面積 |
以下のプログラムは、キーボードから整数の値を入力し、0なら「0です」、偶数なら「偶数です」、奇数なら「奇数です」と表示するプログラムです。
prob6-4:main.c#include <stdio.h>
int main(int argc,char** argv){
int a;
printf("整数値を入力してください:");
scanf("%d",&a);
if(a == 0){
printf("0です\n");
}else if(a%2 == 0){
printf("偶数です\n");
}else{
printf("奇数です\n");
}
return 0;
}
このプログラムの7行目から13行目を別関数にし、呼び出して使うようにプログラムを変更しなさい。ただし、関数の概要は以下のようにするものとします。
追加する関数関数名 | numJudge |
---|---|
処理内容 | 与えられた整数値が、0か、偶数か、奇数かを調べて、その結果を画面に表示する。 |
引数 | 1つの整数値 |
戻り値 | なし |
以下のプログラムは、キーボードから2つの整数の値を入力し、そのうち大きい値を表示するものです。2つの整数値の最大値を求める部分である、10から14行目を関数化して、プログラムを書き換えなさい。
prob6-5:main.c#include <stdio.h>
int main(int argc,char** argv){
int a,b;
int result;
printf("1つ目の値を入力してください:");
scanf("%d",&a); // 1つ目の数、aを入力
printf("2つ目の値を入力してください:");
scanf("%d",&b); // 2つ目の数、bを入力
if(a > b){
result = a; // aのほうが大きければ、aをresultに代入
}else{
result = b; // bのほうが大きければ、bをresultに代入
}
printf("%dと、%dのうち、大きい値は%dです。\n",a,b,result);
return 0;
}
実行結果の例
ただし、関数の概要はいかのようにすること。
関数名 | max |
---|---|
処理内容 | 与えられた2つの整数値のうち、大きいほうの値を返す。 |
引数 | 2つの整数値 |
戻り値 | 引数のうち、大きいほうの値 |
以下のプログラムは、キーボードから整数値を入力させ、その数だけ★マークを表示するというプログラムである。このプログラムの7行目から14行目を、関数化し、プログラムを書き換えなさい。
prob6-6:main.c#include <stdio.h>
int main(int argc,char** argv){
int n,i;
printf("表示する回数を入力してください:");
scanf("%d",&n);
if(n > 0){
for(i = 0; i < n; i++){
printf("★");
}
printf("\n");
}else{
printf("0より大きい値を入力してください。\n");
}
return 0;
}
実行結果の例①(正の整数が入力された場合)
ただし、関数の概要は以下のようにすること。
関数名 | stars |
---|---|
処理内容 | 引数であたられた整数の数だけ、★マークを表示する。 |
引数 | 1つの整数値 |
戻り値 | なし |
キーボードから、円の半径を入力させ、その値を元に、その円の円周の長さと、円の面積を求めるプログラムを作りなさい。このとき、円周率は、3.14とし、円周、円の面積は、それぞれ以下の関数の中で計算するものとする。
関数名 | circumference |
---|---|
処理内容 | 引数であたられた半径の円周の長さを求める。 |
引数 | 円の半径(double) |
戻り値 | 円の円周の長さ(double) |
関数名 | area |
---|---|
処理内容 | 引数であたられた半径の円の面積を求める。 |
引数 | 円の半径(double) |
戻り値 | 円の面積(double) |
実行例にならい、キーボードから整数を入力させ、その数の絶対値を表示するプログラムを作りなさい。なお、絶対値とは、その数値から、符号を取り除いた値である。7の絶対値は7であり、-7の絶対値は7である。絶対値を求める部分は、関数を独自に作って計算させること。
実行結果の例①(正の整数が入力された場合)ただし、関数の概要は以下のようにすること。
関数名 | get_absolute |
---|---|
処理内容 | 与えられた整数値の絶対値を返す。 |
引数 | 整数値 |
戻り値 | 引数の整数の絶対値 |
実行例にならい、キーボードから2つの整数を入力させ、関数を用いてそれぞれの数をたて、よこの■の数として、四角形を表示させるプログラムを作りなさい。
実行結果の例
ただし、関数の概要は以下のようにすること。
関数名 | square |
---|---|
処理内容 | 縦、横に指定された数の■マークを表示する。ただし、どちらかの値が0以下の場合は、何も表示しない。 |
引数 | 整数の値×2(縦、横の値) |
戻り値 | なし |
キーボードから2つの整数値を入力し、その2つの数の最大公約数と最小公倍数を求め、その結果を表示するプログラムを作りなさい。このうち、最大公約数と最小公倍数は、関数を用いて求めること。
実行結果の例ただし、関数の概要は以下のようにすること。
関数名 | gcd |
---|---|
処理内容 | 2つの整数の値の最大公約数を求める。 |
引数 | 整数の値×2 |
戻り値 | 2つの整数の値の最大公約数 |
関数名 | lcm |
---|---|
処理内容 | 2つの整数の値の最小公倍数を求める。 |
引数 | 整数の値×2 |
戻り値 | 引数の2つの整数の最小公倍数 |
一週間でわかるC言語・C++言語がオンライン講座になりました!動画と音声によってさらにわかりやすくなりました!! 1講座で2つの言語を学ぶことができる上に、練習問題の回答もダウンロードできます。
Read →本講座が「1週間でC言語の基礎が学べる本」として書籍化されました!サイトの内容プラスアルファでより学習しやすくなっています!Impressより発売中です!!
Read →