由于一些原因,最近开始刷题,虽然很多人都说是水题,不过对于我这种很久没碰过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;
}