[コンピュータプログラム設計C+]第3週プログラミング作業
12146 ワード
本文は西安交通大学の《コンピュータのプログラムの設計のC++》の第3週のプログラミングの宿題に対する説明です.
1隣接する3文字を印刷(20点)
タイトル内容:
ユーザが英語のアルファベットを入力すると、プログラムはアルファベットの順序で3つの隣接するアルファベットを印刷することができ、ユーザが入力したアルファベットは中間にある.
プログラムの実行結果は次のとおりです.
ここでは、アルファベットの先頭と末尾の2つのアルファベットが接続されていると仮定します.アルファベットZを入力すると、プログラム出力YZAとなります.
入力形式:
1つのアルファベット文字は、大文字でも小文字でも可能です.
出力フォーマット:
3文字連続で、大文字と小文字は変更されません.
サンプルを入力:
出力サンプル:
時間制限:2000 msメモリ制限:32000 kb
次のコードは参照用のみです.
2歌唱大会選手成績計算(20点)
タイトル内容:
歌唱大会の選手成績の算出方法は、最高点を1つ、最低点を1つ、残りの点数の平均値を選手の最終成績とする.ここでは、10人の審査員が百分制で採点されていると仮定します.
プログラムの実行結果は次のとおりです.
審査員が与えた成績が0~100点でない場合、エラーメッセージが表示されます.
プログラムの実行結果は次のとおりです.
入力形式:
10個の[001]の間の数.
出力フォーマット:
1個は小数の数またはヒント情報「the score is invalid.」を表すことができる.
平均変数はdouble型を使用します.
時間制限:2000 msメモリ制限:32000 kb
3サルが桃を食べる(20分)
タイトル内容:
ある日、あるサルは桃を少し摘んで、その時半分食べて、また中毒にならないで、そこで1つ多く食べました.これから毎日、n日目に食べたくなると、桃が1つしか残っていないことに気づきました.nを入力し、n日目までに桃が1個残っていることを示します.1日目にサルが摘んだ桃の数を計算してください.
プログラムの実行結果は次のとおりです.
入力形式:
整数n,n>0を入力し、n日目に桃が1個残ることを示します.
出力フォーマット:
1日目に取った桃の数を表す整数.
時間制限:2000 msメモリ制限:32000 kb
43-4タイル運搬問題(20点)
タイトル内容:
既存のnブロックのレンガは、n人が一度に運ぶことができ、男性が一度に4ブロックを運ぶことができると仮定し、女性は一度に3ブロックを運ぶことができ、2人の子供が1ブロックを運ぶことができ、このn人の中で男性、女性、子供の人数を計算する.人数とレンガ数nを入力し、可能なソリューションを出力します.
プログラムの実行結果は次のとおりです.
満たされていない場合は、「no result!」というプロンプトが表示されます.
プログラムの実行結果は次のとおりです.
入力形式:
人数を表す整数数
出力フォーマット:
すべての条件を満たす男、女、子供の人数またはヒント情報「no result!」
出力フォーマットは例を参照してください.複数組のシナリオがある場合は、男性の数が少ない順に出力します.男性の数と同時に、女性の数は少ないから多い.
サンプルを入力:
時間制限:2000 msメモリ制限:32000 kb
5セントのおつり(20点)
タイトル内容:
nセントを25、10、5、1セントに変換するコインは全部で何種類の変換方法がありますか?
実行結果は次のとおりです.
nが0~99の間にない場合は、プロンプトメッセージ「the money is invalid!」を出力します.
実行結果は次のとおりです.
入力形式:
整数、美分数を表す
入力は[0,99]の間の整数ではない場合があります.入力がこの区間にない場合は、「the money is invalid!」と出力します.
出力フォーマット:
変換メソッド数またはヒント情報「the money is invalid!」(引用符をつけないでください.単語の間にスペースが1つしかありません)
時間制限:2000 msメモリ制限:64000 kb
1隣接する3文字を印刷(20点)
タイトル内容:
ユーザが英語のアルファベットを入力すると、プログラムはアルファベットの順序で3つの隣接するアルファベットを印刷することができ、ユーザが入力したアルファベットは中間にある.
プログラムの実行結果は次のとおりです.
d
cde
ここでは、アルファベットの先頭と末尾の2つのアルファベットが接続されていると仮定します.アルファベットZを入力すると、プログラム出力YZAとなります.
入力形式:
1つのアルファベット文字は、大文字でも小文字でも可能です.
出力フォーマット:
3文字連続で、大文字と小文字は変更されません.
サンプルを入力:
d
出力サンプル:
cde
時間制限:2000 msメモリ制限:32000 kb
次のコードは参照用のみです.
#include
using namespace std;
int main(int argc, char *argv[])
{
char a,b,c;
cin>>b;
if(b>= 65 && b <= 90){ //
a = (b - 'A' - 1 + 26) % 26 + 'A';
c = (b - 'A' + 1) % 26+'A';
}
else{
a = (b - 'a' - 1 + 26) % 26 + 'a';
c = (b - 'a' + 1) % 26+'a';
}
cout<<a<<b<<c<<endl;
return 0;
}
2歌唱大会選手成績計算(20点)
タイトル内容:
歌唱大会の選手成績の算出方法は、最高点を1つ、最低点を1つ、残りの点数の平均値を選手の最終成績とする.ここでは、10人の審査員が百分制で採点されていると仮定します.
プログラムの実行結果は次のとおりです.
88 90 97 89 85 95 77 86 92 83
88.5
審査員が与えた成績が0~100点でない場合、エラーメッセージが表示されます.
プログラムの実行結果は次のとおりです.
101 90 97 89 85 95 77 86 92 83
the score is invalid.
入力形式:
10個の[001]の間の数.
出力フォーマット:
1個は小数の数またはヒント情報「the score is invalid.」を表すことができる.
平均変数はdouble型を使用します.
:
88 90 97 89 85 95 77 86 92 83
:
88.5
時間制限:2000 msメモリ制限:32000 kb
#include
using namespace std;
int main(){
int min, max, score[10], sum=0;
float ave=0.0;
int i;
for(i=0; i<10; i++){
cin>>score[i];
if(score[i] >100 ||score[i]<0 )
cout<<"the score is invalid."<<endl;
break;
}
cout<<endl;
min = score[0];
max = score[0];
for(i=0; i<10; i++){
sum += score[i];
if(score[i]>max) max=score[i];
if(score[i]<min) min=score[i];
}
ave = (sum-max-min)/8;
cout<<ave<<endl;
return 0;
}
3サルが桃を食べる(20分)
タイトル内容:
ある日、あるサルは桃を少し摘んで、その時半分食べて、また中毒にならないで、そこで1つ多く食べました.これから毎日、n日目に食べたくなると、桃が1つしか残っていないことに気づきました.nを入力し、n日目までに桃が1個残っていることを示します.1日目にサルが摘んだ桃の数を計算してください.
プログラムの実行結果は次のとおりです.
10
1534
入力形式:
整数n,n>0を入力し、n日目に桃が1個残ることを示します.
出力フォーマット:
1日目に取った桃の数を表す整数.
:
10
:
1534
時間制限:2000 msメモリ制限:32000 kb
43-4タイル運搬問題(20点)
タイトル内容:
既存のnブロックのレンガは、n人が一度に運ぶことができ、男性が一度に4ブロックを運ぶことができると仮定し、女性は一度に3ブロックを運ぶことができ、2人の子供が1ブロックを運ぶことができ、このn人の中で男性、女性、子供の人数を計算する.人数とレンガ数nを入力し、可能なソリューションを出力します.
プログラムの実行結果は次のとおりです.
50
men0
women10
children40
men5
women3
children42
満たされていない場合は、「no result!」というプロンプトが表示されます.
プログラムの実行結果は次のとおりです.
1
no result!
入力形式:
人数を表す整数数
出力フォーマット:
すべての条件を満たす男、女、子供の人数またはヒント情報「no result!」
出力フォーマットは例を参照してください.複数組のシナリオがある場合は、男性の数が少ない順に出力します.男性の数と同時に、女性の数は少ないから多い.
サンプルを入力:
50
:
men0
women10
children40
men5
women3
children42
時間制限:2000 msメモリ制限:32000 kb
5セントのおつり(20点)
タイトル内容:
nセントを25、10、5、1セントに変換するコインは全部で何種類の変換方法がありますか?
実行結果は次のとおりです.
25
13
nが0~99の間にない場合は、プロンプトメッセージ「the money is invalid!」を出力します.
実行結果は次のとおりです.
101
the money is invalid!
入力形式:
整数、美分数を表す
入力は[0,99]の間の整数ではない場合があります.入力がこの区間にない場合は、「the money is invalid!」と出力します.
出力フォーマット:
変換メソッド数またはヒント情報「the money is invalid!」(引用符をつけないでください.単語の間にスペースが1つしかありません)
:
25
:
13
時間制限:2000 msメモリ制限:64000 kb