高度プログラミング演習 (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.
© Copyright 2025 ExpyDoc