ACM之路刚刚开始

简介: 其实我完全没甚么废话好说的,只是希望养成一个总结的好习惯。让自己以后思路更加清晰。 比如说下面的一道来自杭电的ACM-Steps的一道比较简单的题目,但是为甚么多次提交都是错误,可是不管怎么调试都是对的,其实是题目没有好好看。

其实我完全没甚么废话好说的,只是希望养成一个总结的好习惯。让自己以后思路更加清晰。

比如说下面的一道来自杭电的ACM-Steps的一道比较简单的题目,但是为甚么多次提交都是错误,可是不管怎么调试都是对的,其实是题目没有好好看。


GPA

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3580 Accepted Submission(s): 1466
 
Problem Description
Each course grade is one of the following five letters: A, B, C, D, and F. (Note that there is no grade E.) The grade A indicates superior achievement , whereas F stands for failure. In order to calculate the GPA, the letter grades A, B, C, D, and F are assigned the following grade points, respectively: 4, 3, 2, 1, and 0.
 
Input
The input file will contain data for one or more test cases, one test case per line. On each line there will be one or more upper case letters, separated by blank spaces.
 
Output
Each line of input will result in exactly one line of output. If all upper case letters on a particular line of input came from the set {A, B, C, D, F} then the output will consist of the GPA, displayed with a precision of two decimal places. Otherwise, the message "Unknown letter grade in input" will be printed.
 
Sample Input
A B C D F
B F F C C A
D C E F
 
Sample Output
2.00
1.83
Unknown letter grade in input
 
Author
2006Rocky Mountain Warmup
 
Source
HDU “Valentines Day” Open Programming Contest 2009-02-14
 
Recommend
lcy
这道题其实真的没有什么难度,但是输出格式还是要注意,尤其对于我这样的低级新手来说

The input file will contain data for one or more test cases, one test case per line. On each line there will be one or more upper case letters, separated by blank spaces.

这句话真的是一定要好好读清楚。

所以修正之后最后的代码应为:

#include<cstdio>

using namespace std;

int main(){	
	char rank;
	double score = 0.0;
	int cnt = 0;
	int flag2 = 1;
		while(scanf("%c",&rank) != EOF){
			if (rank == ' ')
				continue;
			if	(rank == '\n'){
				if(flag2){
					printf("%.2f\n",score/cnt);
				}else{
					printf("Unknown letter grade in input\n");
				}
				flag2 = 1;
				cnt = 0;
				score = 0;
				continue;
			}
			if(rank == 'A')
				score += 4;
			else if(rank == 'B')
				score += 3;
			else if(rank == 'C')
				score += 2;
			else if(rank == 'D')
				score += 1;
			else if(rank == 'F')
				score += 0;
			else{
				flag2 = 0;
			}
			cnt ++;
		}
	return	0;
}

嗯这是第一篇,如有兴趣的朋友,也请多指正。
相关文章
技术人修炼之道阅读笔记(三)顶级工程师行为准则
技术人修炼之道阅读笔记(三)顶级工程师行为准则
|
6月前
技术之路:披荆斩棘,不负初心
在这充满变革与挑战的时代,每一个技术工作者都在不断前行,面对困难与挑战,保持初心,才能在技术之路上披荆斩棘,终有所成。
38 1
|
Java C语言 C++
ACM刷题之路(二)谈谈我对ACM的理解
ACM刷题之路(二)谈谈我对ACM的理解
118 0
|
Cloud Native 架构师 中间件
2022 云原生编程挑战赛圆满收官,见证冠军战队的诞生
11 月 3 日,天池大赛·第三届云原生编程挑战赛在杭州云栖大会圆满收官。三大赛道18大战队手历经 3 个月激烈的角逐,终于交上了满意的答卷,同时也捧回了属于他们的荣耀奖杯。
2022 云原生编程挑战赛圆满收官,见证冠军战队的诞生
|
边缘计算 Kubernetes 监控
登顶之路|数字海南架构师谈云原生编程挑战赛参赛心路历程
云原生编程挑战赛项目组特别策划了《登顶之路》系列选手访谈,期待通过参赛选手的故事,看到更加生动鲜活的中国开发者。
登顶之路|数字海南架构师谈云原生编程挑战赛参赛心路历程
|
供应链 JavaScript 前端开发
开源会走上违心之路吗?
开源项目越“成功”,它给维护者带来的压力就越大。
175 0
|
机器学习/深度学习 人工智能 算法
干货 | 谈谈我是如何入门这场 AI 大赛的
干货 | 谈谈我是如何入门这场 AI 大赛的
274 0
干货 | 谈谈我是如何入门这场 AI 大赛的
|
机器学习/深度学习 人工智能 自然语言处理
蚂蚁金服首届ATEC开发者大赛人工智能大赛圆满落幕,一文详解最佳解题方案
一个历时 4 个多月、吸引了 5618 位参赛选手、Michael I. Jordan 和蚂蚁金服 CTO 亲自在证书上签名的大赛。
878 0
蚂蚁金服首届ATEC开发者大赛人工智能大赛圆满落幕,一文详解最佳解题方案
|
机器学习/深度学习 人工智能 算法
柯洁第二局投子认负,独家专访AlphaGo开发者导师Martin Müller
今天下午 13:37,「中国乌镇·围棋峰会」人机大战的第二场比赛落下帷幕。在耗时 3 小时 7 分钟的比赛后,柯洁投子认负,AlphaGo 取得了胜利。
168 0
柯洁第二局投子认负,独家专访AlphaGo开发者导师Martin Müller
|
运维 Kubernetes Cloud Native
首届云原生编程挑战赛精彩盘点:他们如何从10000多支团队中脱颖而出?
从大赛中发掘新鲜的技术力量,让云原生技术激发更多企业的生命力。
1031 2
首届云原生编程挑战赛精彩盘点:他们如何从10000多支团队中脱颖而出?