
掛け算の九九、和の九九、差の九九を表示するプログラムを組むという問題ですが、コメント文の所のプログラムが分からないので教えてください。プログラムは以下の通りに与えられています。
#include<stdio.h>
main(){
int x,y,z;
int yn,op;
do{
do{
printf("[*(1),+(2),-(3)]");
scanf("%d",&op);
}while( 1 > op || op > 3 );
//ここに、九九を計算し表示するプログラムを入れる
//変数opの値が1なら、掛け算の九九
//変数opの値が2なら、和の九九
//変数opの値が3なら、差の九九 を計算し表示
do{
printf("Continue[1/0]?");
scanf("%d",&yn);
}while( 0 > yn || 1 < yn );
}while( yn == 1 );
}
No.2ベストアンサー
- 回答日時:
チョー汚い書き方ですがこういうことかな??
----------------------------------
#include<stdio.h>
void main(){
int x,y,z;
int yn,op;
int i,j;
do{
do{
printf("[*(1),+(2),-(3)]");
scanf("%d",&op);
}while( 1 > op || op > 3 );
for (i=-1; i<10; i++) {
if (i==-1) {
printf("%2s|", "");
} else if (i==0) {
printf("%3s", "--");
} else {
printf("%2d|", i);
}
for (j=1; j<10; j++) {
if (i==-1) {
printf("%3d", j);
} else if (i==0) {
printf("%3s", "---");
} else {
if (op==1) printf("%3d", i*j);
if (op==2) printf("%3d", i+j);
if (op==3) printf("%3d", i-j);
}
}
printf("\n");
}
do{
printf("Continue[1/0]?");
scanf("%d",&yn);
}while( 0 > yn || 1 < yn );
}while( yn == 1 );
}
----------------------------------
No.1
- 回答日時:
和の九九や差の九九がいまいち把握できませんでしたので
処理を分ける方法のみ提案させていただこうと思います。
とりあえず、Switch文を使えば良いかと思います。
かなり大雑把な説明ですが、Switch文とはifを少し便利にしたようなものとお考えください。状況により処理を分岐させることができます。
switch (op){//変数opを判断する
case 1;//変数opが1なら
//掛け算の九九の処理
break;
case 2;
//和の九九
break;
case 3;
//差の九九
break;
}
また、掛け算を1x1から9x9までを全て羅列するというのなら
for文を持ちいれば作成できるかと思います。デバッグしてないので怪しいですが下記のようなものでも動くかなと思います。もっと綺麗にできるとは思いますが。
int a,b;
for(a=1;a<10;++a){
for(b=1;b<10;++b){
printf ("%d * %d = %d\n",a,b,a*b);
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三角形の判別
-
テキストカーソル位置の取得
-
C言語
-
cshの文字列操作(0埋め)
-
勝率をプログラムに
-
c言語プログラミングでアルファ...
-
なぜgccはstdio.hをインクルー...
-
scanfに文字が入力されたときに...
-
エラーが出ます。
-
「Aに対するBの割合」と「Aに対...
-
Aの値からBの値を除するとは??
-
2曲同時再生するにはどうした...
-
ある商品のロス率を5%見込み、...
-
有効数字について 以前質問をし...
-
int16_t の _t は何?
-
fgetsについて
-
マイナスからプラスへ転じた時...
-
プログラムでの数字につく”f”の...
-
std::set<int> で、ある値が何...
-
c言語で、繰り返し文の中で、0....
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
c言語でAからZまでを表示する...
-
(C言語)めちゃくちゃな値にな...
-
コマンドラインに出力した文字...
-
コンパイルエラーについて
-
コマンドプロンプトがすぐ消える
-
勝率をプログラムに
-
テキストカーソル位置の取得
-
三角形の判別
-
【C言語教えてください】sin波...
-
4の倍数を論理演算で表す。。
-
C言語で、「自然数nを入力し、n...
-
入力したお金の金額からお札の...
-
cshの文字列操作(0埋め)
-
switch分のケースを範囲数?に...
-
scanfに文字が入力されたときに...
-
プログラミングについての質問です
-
unsigned int型について
-
ダブルポインタで2次元配列を作成
-
円の面積を求めるプログラミン...
おすすめ情報