HDU2008 看清题意

刚开始以为n = 0时就返回重新输入,结果收到一个TLE。

仔细想想就算我的if-else不怎么省时也不至于TLE吧。于是一行一行的重新查找,并没有什么问题。那么就发扬一下审题精神吧,诶嘿,还真的是,输入n为0时结束输入。。

贴个代码吧。


#include<stdio.h>
int main()
{
	int n;
	while(scanf("%d", &n) != EOF){
		int positive = 0, minus = 0, zero = 0;
		float x;
		
		if(n <= 0)
			break;
		else{
			while(n--){
				scanf("%f", &x);
				if(x > 0)
					positive++;
				else if(x < 0)
					minus++;
				else
					zero++;
			}
			
		}
		printf("%d %d %d\n", minus, zero, positive);
	}
	
	return 0;
}

总感觉比较乱,特别是对于n的判定,又转念一想,好像是这个方法可以做哎。

于是又变成了这样了。


#include<stdio.h>
int main()
{
	int n;
	while(scanf("%d", &n) && n){
		int positive = 0, minus = 0, zero = 0;
		float x;
		

			while(n--){
				scanf("%f", &x);
				if(x > 0)
					positive++;
				else if(x < 0)
					minus++;
				else
					zero++;
			}
			
		printf("%d %d %d\n", minus, zero, positive);
	}
	
	return 0;
}

hhhh这样看起来是真正的快乐啊!

全部评论

相关推荐

挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
Java抽象练习生:教育背景放最前面,不要耍小聪明
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务