プログラミング入門 情報科学演習
2016.02.01
今回はコンパイルエラーや無限ループも無くわりと良かったのですが,慣れからか解答用紙の不使用が再び増えたのが残念でした.注意しましょう.
以下は気になるプログラムの一例です.参考にしてください.
上の例のように並べ変えと表示を同時に行っているものがありましたが,ややこしくなるのであまり推奨しません.
何をしたいのかわかりませんでした.配列 cl も意味がわかりませんでした.
配列 score の添字のうち,後ろのものには2番目はありません.
解答用紙不使用: b1561 b1578 b1435
インデントの不備: b1519 b1543 b1570 b1020 b1217
学生番号無し: b1505
ハイフンライン無し: b1505
解答用紙に名前無し: b1448
期末試験ですが,いつものように柱の部分の席を避けて座ってください.席の指定はありません.また,教科書やノートの持込は可能ですし,過去のテキストや種々の解答例 \(^o^)/ の参照も可能です.ただし,他の学生の画面を見るのは禁止です.
携帯電話は電源を切ってカバンの中に入れてください.携帯電話が鳴動した場合には不正行為として扱うことがありますので,注意してください.
また,4コマ目と5コマ目の受講生の入れ換えですが,短期間で不正な行動を制限する方法として以下のようにしますので,御了解下さい.
本日の作業で,模擬的に練習する解答用紙はこれを使用します.これ自身がプログラムですので,使い方に注意してください.
提出の必要はありませんが,コンパイル等の作業は必ず行ってください.
実習の演習問題は当日ご案内します.
2/3(水)が最後のメンター学習室となります.それ以外の時間でも質問などありましたら,縄手まで連絡してください.
for(i=0; i<=3; i++){
for(j=i+1; j<=3; j++){
if(score[i][0] < score[j][0]){
num = score[i][0];
score[i][0] = score[j][0];
score[j][0] = num;
num = score[i][1];
score[i][1] = score[j][1];
score[j][1] = num;
}
}
printf("%s(%d) ",class[score[i][1]],score[i][0]);
}
for(j=0;j<=3;j++){
for(i=j+1;i<=3;i++){
if(score[j][1]<score[i][1]){
ts=score[i][1];
score[i][1]=score[j][1];
score[j][1]=ts;
for(k=0;k<=11;k++){
cl[k]=class[i][k];
}
for(k=0;k<=11;k++){
class[i][k]=class[j][k];
}
for(k=0;k<=11;k++){
class[j][k]=cl[k];
}
}
}
}
for(i=0;i<=3;i++){
score[i][2]=rand()%100;
printf("%s(%d) ",class[i],score[i][2]);
}
printf("\n");
for(i=0;i<=3;i++){
for(j=i;j<=3;j++){
if(score[i][2]<score[j][2]){
tmp=score[i][2];
score[i][2]=score[j][2];
score[j][2]=tmp;
}
}
printf("%s(%d) ",class[i],score[i][2]);
}
目次ページに戻る