My student number: s186099 KSWTINMQFC CFIKMNQSTW ---------------------------- |
なお,結果の出力では必ず最初の行に自分の学生番号を,最後にハイフンによるラインをつけること.無い場合には減点するので注意.
結果を確認するときには,処理を less に渡して,出力が変なことになっていないか確認してください.
$ ./a.out | less
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください. 指定の解答用紙を使用していない,コンパイルエラーが出る,実行時に警告が出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください. |
// ************************************************** // // プログラミング入門II レポート課題 // 2019.06.17 // // ************************************************** // // 学生番号: // // 氏名: // // ************************************************** // // #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, n, tmp, alph[26]; char str[11]; str[10] = '\0'; //最終的な文字を入れるための配列のヌル文字準備 for(i=0; i<=25; i++) //アルファベット26文字をコードで準備 { alph[i] = i + 65; } for(i=0; i<=24; i++) //アルファベットランダム化 { n = rand() % (26 - i); tmp = alph[n]; alph[n] = alph[25-i]; alph[25-i] = tmp; } for(i=0; i<=9; i++) //ランダムなアルファベットの最初の10文字分のコード抽出 { str[i] = alph[i]; } printf("%s\n", str); //ランダムな状態の文字列表示 for(i=0; i<=8; i++) //アルファベット順に文字列ソート { for(j=i+1; j<=9; j++) { if(str[i]>str[j]) { tmp = str[i]; str[i] = str[j]; str[j] = tmp; } } } printf("%s\n", str); //アルファベット順の文字列表示 printf("\n----------------------------\n\n"); return 0; } |