My student number: s186099 Original numbers 1 19 35 83 19 44 53 64 17 4 51 5 65 49 85 68 7 49 66 55 Sort array above 85 83 68 66 65 64 55 53 51 49 49 44 35 19 19 17 7 5 4 1 Add 75 into array 85 83 75 68 66 65 64 55 53 51 49 49 44 35 19 19 17 7 5 4 1 ------------------------------- |
なお,結果の出力では必ず最初の行に自分の学生番号を,最後にハイフンによるラインをつけること.無い場合には減点するので注意.
配列の要素の個数は最初から21個にしておいて,追加して並べ替えられるようにしましょう.
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください. 指定の解答用紙を使用していない,コンパイルエラーが出る,実行時に警告が出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください. |
// ************************************************** // // プログラミング入門II レポート課題 // 2019.06.10 // // ************************************************** // // 学生番号: // // 氏名: // // ************************************************** // // #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { srand((unsigned) time(NULL)); printf("My student number: s186099\n\n"); int i, j, num, tmp, ary[21]; printf("Original numbers\n"); for(i=0; i<=19; i++) { ary[i] = rand() % 99 + 1; printf("%2d ", ary[i]); } printf("\n\nSort array above\n"); for(i=0; i<=18; i++) { for(j=i+1; j<=19; j++) { if(ary[i]<ary[j]) { tmp = ary[i]; ary[i] = ary[j]; ary[j] = tmp; } } } for(i=0; i<=19; i++) { printf("%2d ", ary[i]); } printf("\n\n"); num = rand() % 99 + 1; printf("Add %d into array\n", num); for(i=19; i>=0; i--) { if(num>ary[i]) { ary[i+1] = ary[i]; ary[i] = num; } } for(i=0; i<=20; i++) { printf("%2d ", ary[i]); } printf("\n\n-------------------------------\n\n"); return 0; } |