B - Treasure the new start, freshmen!
题解:很简单的计算学分绩问题,但需要注意的是在输出要求哪里说了每个例子要空一行,而是最后一个后面不能有空行
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
int i = 0,j = 0,p = 0,n,m;
double a[1000],b[1000];
double sum1 = 0,sum2 = 0;
char c[100];
scanf("%d",&n);
while(n--)
{
//shuru
scanf("%d",&m);
for(i = 0;i < m;i++)
{
scanf("%s%lf%lf",c,&a[i],&b[i]);
}
//jisuan
for(j = 0,sum1 = 0,sum2 = 0;j < m;j++)//初始化过程中免除使用还原的需求
{
if(b[j] < 60)
{
p = 1;
break;
}
else
{
sum1 = sum1 + a[j]*b[j];
sum2 = sum2 + a[j];
}
}
//判断输出
if(p == 1)printf("Sorry!\n");
else printf("%.2lf\n",sum1/sum2);
if(n != 0)
printf("\n");//题目输出要求
//还原
p = 0;
}
return 0;
}