2014秋C++第14週プロジェクト2参考-名前付き成績表
4312 ワード
カリキュラムのホームページhttp://blog.csdn.net/sxhelijian/article/details/39152703、カリキュラムリソースは雲学堂の「賀先生教室」で同期して展示され、使用するアカウントはカリキュラムのホームページに表示してください.
【項目2-氏名付き成績表】score[8]配列に8名の同級生のC++成績を格納し、配列string name[8]を1つ増やして初値を付与し、同級生の名前を表す.この2つの配列では、各学生の名前と成績の下標は常に一致しなければならない(例えばname[i]とscore[i]は同じ学生(下標i)の名前とC++成績を表し、そうでなければ冠李戴を張る).(1)成績順の学生のリストを出力する.(2)同級生名順の成績表(ソート対象は文字列)を出力する.(3)データはscore.txtから提供されますが、プログラムはどのように変更しますか?△成績値はEXCELソフトを利用してランダムに生成され、高くなったものは得意になり、低くなったものは気にしないで、その下敷きの古い靴の気持ちを世話してください.
(1)(2)参考解答:
(3)参考解答:
【項目2-氏名付き成績表】score[8]配列に8名の同級生のC++成績を格納し、配列string name[8]を1つ増やして初値を付与し、同級生の名前を表す.この2つの配列では、各学生の名前と成績の下標は常に一致しなければならない(例えばname[i]とscore[i]は同じ学生(下標i)の名前とC++成績を表し、そうでなければ冠李戴を張る).(1)成績順の学生のリストを出力する.(2)同級生名順の成績表(ソート対象は文字列)を出力する.(3)データはscore.txtから提供されますが、プログラムはどのように変更しますか?△成績値はEXCELソフトを利用してランダムに生成され、高くなったものは得意になり、低くなったものは気にしないで、その下敷きの古い靴の気持ちを世話してください.
#include<iostream>
#include<string>
using namespace std;
const int num=8;
int main()
{
int i,j,t;
string temp;
string name[num]= {"zhao","qian","sun","li","zhou","wu","zheng","wang"};
double score[num]= {79,84,65,89,60,92,78,56};
//(1)
//(2)
}
ヒント:ソートでscoreの要素を交換する場合、nameの要素を同時に交換すれば、名前と成績の同期を実現できます(名前を交換せずに成績を交換すると、両者の対応関係が破壊されます).(1)(2)参考解答:
#include<iostream>
#include<string>
using namespace std;
const int num=8;
int main()
{
int i,j,t;
string temp;
string name[num]= {"zhao","qian","sun","li","zhou","wu","zheng","wang"};
double score[num]= {79,84,65,89,60,92,78,56};
//(1)
for(j=0; j<num-1; j++)
for(i=0; i<num-j-1; i++)
{
if(score[i]<score[i+1])
{
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
}
}
cout<<" :"<<endl;
for(i=0; i<num; i++)
cout<<name[i]<<"\t"<<score[i]<<endl;
//(2)
for(j=0; j<num-1; j++)
for(i=0; i<num-j-1; i++)
{
if(name[i]<name[i+1])
{
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
}
}
cout<<" :"<<endl;
for(i=0; i<num; i++)
cout<<name[i]<<"\t"<<score[i]<<endl;
return 0;
}
(3)参考解答:
#include <fstream> //
#include<cstdlib> // exit(1) cstdlib
#include<iostream>
#include<string>
using namespace std;
const int N=100;
int main()
{
int i,j,t;
string name[N];
double score[N];
int num=0;//
string temp;
ifstream infile("score.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>name[num]>>score[num]) // , 。
{
num++;
}
infile.close();
//(1)
for(j=0; j<num-1; j++)
for(i=0; i<num-j-1; i++)
{
if(score[i]<score[i+1])
{
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
}
}
cout<<" :"<<endl;
for(i=0; i<num; i++)
cout<<name[i]<<"\t"<<score[i]<<endl;
//(2)
for(j=0; j<num-1; j++)
for(i=0; i<num-j-1; i++)
{
if(name[i]>name[i+1])
{
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
}
}
cout<<endl;
cout<<" :"<<endl;
for(i=0; i<num; i++)
cout<<name[i]<<"\t"<<score[i]<<endl;
return 0;
}
=================== CSDN =================
|== IT ( ) ==|
|== C++ ( ) ==|
|== ——《 —— IT 》 ==|
===== IT , =====