【課題2− 19】 提出課題(6) 下のプログラムは2つの整数を入力し,除算結果を小数点以下30桁まで求めるものである.下の空欄A〜Fを埋めよ.なお,割る数に0が入力された場合には再入力を促すこと. #include #define MAX 31 int main(void) { int kekka[MAX] = {0}, n1, n2, i, amari; while 「A」{ // n2に0以外の値が入力されるまでループ printf("Input two non-zero numbers: "); scanf("%d%d", &n1, &n2); if (n2 != 0) 「 B 」; } printf("%d / %d = ", n1, n2); kekka[0] = 「 C 」; // n1÷n2の整数部を格納 for (i = 1; i < MAX; i++) { amari = 「 D 」; // n1÷n2のあまり if (amari == 0) // 割り切れれば終了 break; n1 = amari「E」; // あまりを?倍してn1に代入 kekka[i] = 「 F 」; // 新たなn1をn2で割って... } printf("%d.", kekka[0]); for (i = 1; i < MAX; i++) printf("%d", kekka[i]); printf("¥n"); return 0; } 【実行結果例】 Input two non-zero numbers: 17 7 17 / 7 = 2.428571428571428571428571428571 【解説とヒント】 割り算の筆算の過程をプログラムで実現している.商の整数部はすべてkekka[0]に格納し,小数点以下の部分は一桁ずつ,kekka[1]~kekka[30]に格納している.