ソースコードは以下です。C言語の基礎部分です。
コメントにしている部分を参照していただきたいのですが、2箇所わからないことがあります。
1つ目
数学のコンビネーションですが、mとnの関係が不適切なときに再度、入力するよう要求したいです。
2つ目
0か1を入力すると正常に処理され、0,1以外のときに再度、入力を要求するようにしたいです。
混乱していること
ループ処理の中にさらにループ処理を作った場合、break,continueがうまいこといかないため、質問させていただきました。
c
1#include <stdio.h> 2 /*階乗の関数*/ 3int kaijo(int x){ 4 int i , result =1; 5 for (i=1;i<=x;i++){ 6 result = result * i; 7 } 8 return result; 9} 10/*数値を代入し、結果を表示*/ 11int main(void){ 12 int m,n,com,c; 13 while(1){ 14 printf("1つめの整数を入力してください:\n");scanf("%d",&m); 15 printf("2つめの整数を入力してください:\n");scanf("%d",&n); 16 17 /* 18 このときにm<nだったら再度数字の入力を要求したい。 19 */ 20 21 com = kaijo(m) / (kaijo(n) * kaijo(m-n)); 22 printf("%dC%d=%d\n",m,n,com); 23 24 printf("計算を続けるなら0を、やめるなら1を入力してください\n");scanf("%d",&c); 25 if (c == 0){ 26 continue; 27 }else if (c == 1){ 28 break; 29 }else{ 30 printf("0か1を入力してください\n"); 31 32 /* 33 このときに再び「printf("計算を続けるなら0~」を表示させたいです。 34 */ 35 36 } 37 38 } 39 return (0); 40 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。