Input
The first number N indicate that there are N test cases(N <= 50). In each case, there is a number K (the total courses number), then K lines followed, each line would obey the format: Course-Name (Length <= 30) , Credits(<= 10), Score(<= 100).
Notice: There is no blank in the Course Name. All the Inputs are legal
Output
Output the GPA of each case as discribed above, if the GPA is not existed, ouput:“Sorry!”, else just output the GPA value which is rounded to the 2 digits after the decimal point. There is a blank line between two test cases.
Sample Input
2
3
Algorithm 3 97
DataStruct 3 90
softwareProject 4 85
2
Database 4 59
English 4 81
Sample Output
90.10
Sorry!
#include
#include
#include
using namespace std;
int main()
{
int N,K;
cin>>N;
for(int i=0;i<N;++i)
{
string a;
cin>>K;
char Name[100];
double Credits[K],Score[K];
double s1=0,s2=0,k=0;
for(int i=0;i<K;++i)
{
cin>>a;
cin>>Credits[i]>>Score[i];
s1+=Credits[i]*Score[i];
s2+=Credits[i];
if(Score[i]<60)
{
k++;
}
}
if(k0)
cout<<fixed<<setprecision(2)<<s1/s2<<endl;
else cout<<“Sorry!”<<endl;
if(i!=N-1)
cout<<endl;
}
return 0;
}
题目不难但是主义到#include
#include
#include
using namespace std;
int main()
{
int N,K;
cin>>N;
for(int i=0;i<N;++i)
{
string a;
cin>>K;
char Name[100];
double Credits[K],Score[K];
double s1=0,s2=0,k=0;
for(int i=0;i<K;++i)
{
cin>>a;
cin>>Credits[i]>>Score[i];
s1+=Credits[i]*Score[i];
s2+=Credits[i];
if(Score[i]<60)
{
k++;
}
}
if(k0)
cout<<fixed<<setprecision(2)<<s1/s2<<endl;
else cout<<“Sorry!”<<endl;
if(i!=N-1)
cout<<endl;
}
return 0;
}
题目不难,但是注意到i!=N-1,如果没有这句话就是错,因为题目要求两组数据之间隔一行,前面没有问题,多输出一行空白行使两组数据分开,但是最后一组数据不需要多输出一行,i!=N-1最后一组数据就不会输出空白行,于是通过。