このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 150代目 #242 # [1] 授業単元:引数の利用 # [2] 問題文(含コード&リンク): # #include <stdio.h> # void inputData(int data[20]) # { # int n = 0; # while (n < 20) { # printf("data[%2d] = ", n); # if (scanf("%d", &data[n]) != 1) { # printf("数字を入力してください\n"); # scanf("%*s"); # } else if (data[n] < 0 || 100 < data[n]) { # printf("[0, 100] の範囲で入力してください\n"); # } else { # ++n; # } # } # } # void outputData(int data[20]) # { # int i; # for (i = 0; i < 20; ++i) { # printf("data[%2d] = %3d\n", i, data[i]); # } # } # int main(void) # { # int data[20]; # inputData(data); # outputData(data); # return 0; # } # # '20個の0から100の範囲の整数を得る'(_整数ならび) :- findnsols(20,_0から100の範囲の整数,'0から100の範囲の整数を連続して読み込む'(_0から100の範囲の整数),_0から100の範囲の整数ならび),!. '0から100の範囲の整数を連続して読み込む'(_0から100の範囲の整数) :- 整数を得る('0から100の範囲の整数: ',between(0,100,_整数),_整数). '0から100の範囲の整数を連続して読み込む'(_0から100の範囲の整数) :- '0から100の範囲の整数を連続して読み込む'(_0から100の範囲の整数). 整数を得る(_催促,_評価,_整数) :- 催促後に行を読み込む(_催促,_行), 整数入力検査(_行,_評価,_整数),!. 整数を得る(_催促,_評価,_整数) :- 整数を得る(_催促,_評価,_整数). 催促後に行を読み込む(_催促,_行) :- write(_催促), 行入力(_行). 行入力(_行) :- read_line_to_codes(current_input,_コードならび), atom_codes(_行,_コードならび). 整数入力検査(_行,_評価,_整数) :- 整数である(_行,_整数), 評価(_評価),!. 整数である(_行,_整数) :- atom_number(_行,_整数), integer(_整数),!. 整数である(_行,_整数) :- writef('入力された %w からは整数がえられません。\n',[_行]), fail. 評価(_評価) :- call(_評価),!. 評価(_評価) :- writef('評価 %w は偽となりました。\n',[_評価]), fail.