杭电ACMC语言版答案,持续更新中~

由于一些原因,最近开始刷题,虽然很多人都说是水题,不过对于我这种很久没碰过C语言的来说,每天一水题还是蛮好玩的,虽然网上应该有很多答案啦,我也是本着记下来印象会深刻一点的想法想把它们保存下来,大家勿喷啊~~亲测均能AC~~

2005 给定一个日期,输出这个日期是该年的第几天

#include 
#include 
#include 

int main() {
	int y, m, d,i,s;	
	while (~scanf_s("%d/%d/%d", &y, &m, &d)) {
		s = 0;
		int mon[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
		if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0) {
			mon[2] = 29;
		}
		for (i = 0; i < m; i++) {
			s += mon[i];
		}
		s += d;
		printf("%d\n", s);
	}
}


2008 统计给定的n个数中,负数、零和正数的个数

#include 
#include 
#include 

int main() {
	int n, i;
	float t[100];
	int a, b, c;
	while (~scanf_s("%d", &n)) {
		a = 0, b = 0, c = 0;
		if (n == 0) continue;
		else if (n < 100) {
			for (i = 0; i < n; i++) {
				scanf_s("%f", &t[i]);
			}
		}
		for (i = 0; i < n; i++) {
			if (t[i] < 0) {
				a++;
			}
			else if (t[i] == 0) {
				b++;
			}
			else {
				c++;
			}
		}
		printf("%d %d %d\n", a, b, c);
		
	}
	return 0;
}


2009 数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。

#include 
#include 
#include 

int main() {
	int n, m,i;
	while (~scanf("%d%d", &n, &m)) {
		double s = (double)n;
		double t = (double)n;
		if (n < 10000 && m < 1000) {
			for (i = 1; i < m; i++) {
				t = sqrt(t);
				s += t;
			}
		}
		printf("%.2lf\n", s);
	}
	return 0;
}








你可能感兴趣的:(杭电ACMC语言版答案,持续更新中~)