C语言问题求助
小红鱼是北京师范大学珠海分校信息技术学院15级新生。在她的第一堂C语言课上,她得知今年学校开通了官方的BnuzOJ,专门为新生提供程序设计练习。开心的小红鱼正打算大显身手...
小红鱼是北京师范大学珠海分校信息技术学院15级新生。在她的第一堂C语言课上,她得知今年学校开通了官方的BnuzOJ,专门为新生提供程序设计练习。开心的小红鱼正打算大显身手时,却发现。。。ShenMeGui!!!
小红鱼发现,OJ是一个死板的东西,你必须按照它的要求一板一眼地写出代码,否则立刻出错。并且,错了还不告诉你错在哪,直接甩出几个字母完事。更可气的是,OJ上还有个叫ACM的怪蜀黍,出的题目又怪又难写,还半夜发鬼故事出来吓人(我们鱼类最怕水怪了▼-▼)。。。
后来,请教了各路大仙,小红鱼终于搞清了OJ返回的奇怪字母到底是什么意思:
AC(Accepted):程序通过;
PE(Presentation Error):答案正确,但是格式不对。逻辑设计成功但输出写出了低级错误;
WA(Wrong Answer):答案不对,仅仅通过样例数据的测试并不一定是正确答案,一定还有没想到的地方;
TLE(Time Limit Exceeded):运行超出时间限制,需要检查下是否有死循环,或者应该有更快的计算方法;
MLE(Memory Limit Exceeded):超出内存限制,数据可能需要压缩,数组开过大或者递归死循环(递归死循环严格上属于爆栈,属于RE);
OLE(Output Limit Exceeded):输出超过限制,输出比正确答案长了两倍以上;
RE(Runtime Error):运行时错误,包括爆栈,非法的内存访问,数组越界,指针漂移,调用禁用的系统函数;
CE(Compile Error):编译错误。。。出现于本地不测试就上OJ的作死情况。
明确了这些信息,小红鱼终于可以开心地刷题了。。。但是她之前犯的错误实在太多了,所以她的正确率很低。现在小红鱼希望知道她OJ答题历史的正确率,你能帮她统计一下吗?
输入要求
题目包含多组数据。每组数据以一个整数n开头(0<n<500),代表小红鱼做过的题数。接下来的n行是小红鱼做过题目的OJ字母反馈。反馈的字母类型如上文描述,但仅有AC视为正确解答,其他所有反馈视为答错。
输出要求
为每组数据输出一个小数,表示本组数据的正确率,保留3位小数。
测试数据示例
输入
9
WA
TLE
PE
AC
WA
WA
AC
AC
MLE
输出
0.333 展开
小红鱼发现,OJ是一个死板的东西,你必须按照它的要求一板一眼地写出代码,否则立刻出错。并且,错了还不告诉你错在哪,直接甩出几个字母完事。更可气的是,OJ上还有个叫ACM的怪蜀黍,出的题目又怪又难写,还半夜发鬼故事出来吓人(我们鱼类最怕水怪了▼-▼)。。。
后来,请教了各路大仙,小红鱼终于搞清了OJ返回的奇怪字母到底是什么意思:
AC(Accepted):程序通过;
PE(Presentation Error):答案正确,但是格式不对。逻辑设计成功但输出写出了低级错误;
WA(Wrong Answer):答案不对,仅仅通过样例数据的测试并不一定是正确答案,一定还有没想到的地方;
TLE(Time Limit Exceeded):运行超出时间限制,需要检查下是否有死循环,或者应该有更快的计算方法;
MLE(Memory Limit Exceeded):超出内存限制,数据可能需要压缩,数组开过大或者递归死循环(递归死循环严格上属于爆栈,属于RE);
OLE(Output Limit Exceeded):输出超过限制,输出比正确答案长了两倍以上;
RE(Runtime Error):运行时错误,包括爆栈,非法的内存访问,数组越界,指针漂移,调用禁用的系统函数;
CE(Compile Error):编译错误。。。出现于本地不测试就上OJ的作死情况。
明确了这些信息,小红鱼终于可以开心地刷题了。。。但是她之前犯的错误实在太多了,所以她的正确率很低。现在小红鱼希望知道她OJ答题历史的正确率,你能帮她统计一下吗?
输入要求
题目包含多组数据。每组数据以一个整数n开头(0<n<500),代表小红鱼做过的题数。接下来的n行是小红鱼做过题目的OJ字母反馈。反馈的字母类型如上文描述,但仅有AC视为正确解答,其他所有反馈视为答错。
输出要求
为每组数据输出一个小数,表示本组数据的正确率,保留3位小数。
测试数据示例
输入
9
WA
TLE
PE
AC
WA
WA
AC
AC
MLE
输出
0.333 展开
展开全部
#include <stdio.h>
#include <string.h>
int main(void)
{
int num = 0;
char str[4] = {0};
int count = 0;
scanf("%d",&num);
getchar();
for(int i = 0; i < num; ++i)
{
gets(str);
if(!strncmp(str, "AC", 2))
++count;
}
printf("%.3f\n",(float)count / num);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询