スライド 1

高度プログラミング演習
(05)
演習問題
•
入力した2×2の行列の行列式の値を求め
るプログラムを作成せよ。
演習問題
•
2つの3×3 の行列の各要素を入力でき、そ
れらの行列の足し算および引き算をするプ
ログラムを作成せよ。
演習問題
•
3×3 の行列と3×2の行列をそれぞれ入力
でき、それらの行列の掛け算をするプログラ
ムを作成せよ。
条件分岐と場合分け
• if 条件
– 処理
• 他の条件
– 処理
• 場合わけ
– ある場合の処理
– 別の場合の処理
条件分岐
if (条件){
.....;
} else if (条件){
.....;
} else {
.....;
}
等しい ==
等しくない !=
かつ &&
または ||
#include <stdio.h>
void main()
{
int num=0;
scanf(“%d”,&num);
if(num>0){
printf(“%d > 0\n”,num);
}else if(num<0){
printf(“%d < 0\n”,num);
}else{
printf(“%d == 0\n”,num);
}
}
練習問題
• 数当てゲームのプログラムを作成せよ。
– プログラムの実行時に乱数で1から1000まで範
囲で数字(答え)を決める。
– 入力した数字に対して答えのある範囲を狭めて
ゆく
• 0 < X < 1001
• 100 < X < 1001
• 100 < X < 500
– 何回目で正解が出るか表示する
場合わけ
switch (変数){
case 場合 :
.....;
break;
case 場合:
.....;
break;
default:
}
#include <stdio.h>
void main(){
int num=0;
scanf(“%d”,&num);
if(num<16){
switch (num){
case 15:
printf(“F\n”);
break;
case 14:
printf(“E\n”);
break;
case 13:
printf(“D\n”);
break;
case 12:
printf(“C\n”);
break;
case 11:
printf(“B\n”);
break;
case 10:
printf(“A\n”);
break;
default:
printf(“%d\n”,num);
}
}
}
文字型の変数
• char a;
#include <stdio.h>
void main()
{
char data[128];
int n=0,j=0;
#include <stdio.h>
void main()
{
char a;
a=getchar();
printf(“%c\n”,a);
}
while(n<128){
data[n]=getchar();
if(data[n]=='.'){
if(n<127)
n++;
break;
}
n++;
}
for(j=0;j<n;j++){
if (data[j]>='a'&&data[j]<='z')
data[j] =data[j]+('A'-'a');
printf("%c",data[j]);
}
printf("\n");
}
練習問題
1. 16進数を10進数に変換するプログラムを
作成せよ。
2. 入力した文字列に a という文字がいくつあ
るか数えるプログラムを作成せよ。(case 文
を使うこと。)
演習問題
1. 2次方程式 a*x*x + b*x + c =0 を解くプロ
グラムを作成せよ。ただし、x が虚数となる
場合は、解がない旨表示するようにせよ。
2. スペースで区切られた英単語を入力して、
各単語の先頭だけを大文字に変換するプロ
グラムを作成せよ。(case 文を使うこと。)
•
•
this is a pen.
This Is A Pen.