声明:
1、以下答案中若有错误,与本人无关,本人从未认可复制粘贴抄答案的行为。
2、在此提供代码仅供交流讨论使用,严禁除作者外的任何人将代码传播、售卖,违者必究,谢谢配合。
3、若有优化代码方案的建议,请留言,将题目序号,优化点详细说出,并有留下代号或姓名的权利,作者看到采纳后会更新本文,并将提供优质优化思路的代码作者列出。
4、有关代码风格上的建议不必提,个人目前喜欢这种风格,仅此而已。
7-1:
0 //7-1:
1 #include "stdio.h"
2
3 int main() {
4
5 int n;
6 scanf("%d", &n);
7 int year[n + 1], month[n + 1], day[n + 1], mid[n + 1];
8 for (int i = 1; i <= n; i++) {
9 scanf("%d-%d-%d", &year[i], &month[i], &day[i]);
10 if ((year[i] % 4 == 0 && year[i] % 100 != 0) || (year[i] % 400 == 0)) {
11 mid[i] = 1;
12 } else {
13 mid[i] = 0;
14 }
15 }
16 for (int i = 1; i <= n; i++) {
17 if (mid[i] == 1) {//是闰年。
18 //大月-除12月。
19 if (month[i] == 1 || month[i] == 3 || month[i] == 5 || month[i] == 7 || month[i] == 8 || month[i] == 10) {
20 day[i]++;
21 if (day[i] > 31) {
22 day[i] = 1;
23 month[i]++;
24 }
25 } else if (month[i] == 2) {
26 day[i]++;
27 if (day[i] > 29) {
28 day[i] = 1;
29 month[i]++;
30 }
31 } else if (month[i] == 4 || month[i] == 6 || month[i] == 9 || month[i] == 11) {
32 day[i]++;
33 if (day[i] > 30) {
34 day[i] = 1;
35 month[i]++;
36 }
37
38 } else if (month[i] == 12) {
39 day[i]++;
40 if (day[i] > 31) {
41 day[i] = 1;
42 month[i] = 1;
43 year[i]++;
44 }
45 }
46 } else {
47 if (month[i] == 1 || month[i] == 3 || month[i] == 5 || month[i] == 7 || month[i] == 8 || month[i] == 10) {
48 day[i]++;
49 if (day[i] > 31) {
50 day[i] = 1;
51 month[i]++;
52 }
53 } else if (month[i] == 2) {
54 day[i]++;
55 if (day[i] > 28) {
56 day[i] = 1;
57 month[i]++;
58 }
59 } else if (month[i] == 4 || month[i] == 6 || month[i] == 9 || month[i] == 11) {
60 day[i]++;
61 if (day[i] > 30) {
62 day[i] = 1;
63 month[i]++;
64 }
65
66 } else if (month[i] == 12) {
67 day[i]++;
68 if (day[i] > 31) {
69 day[i] = 1;
70 month[i] = 1;
71 year[i]++;
72 }
73 }
74 }
75
76 }
77 for (int i = 1; i <= n; i++) {
78 printf("%d-%02d-%02d\n", year[i], month[i], day[i]);
79 }
80 return 0;
81 }
7-2:
//7-2:
#include "stdio.h"
int main() {
int n;
while (scanf("%d", &n) != EOF) {
char name[n + 1];
double price[n + 1];
double sum = 0, p_max = -1, aver = 0;
int a;
for (int i = 1; i <= n; i++) {
getchar();
scanf("%c%lf", &name[i], &price[i]);
sum += price[i];
if (p_max <= price[i]) {
p_max = price[i];
a = i;
}
}
aver = sum / n;
printf("%c %.1lf\n", name[a], aver);
}
return 0;
}
7-3:
//7-3:
#include "stdio.h"
struct Year {
int g, s, b, q;
int num;
};
int main() {
int T;
scanf("%d", &T);
struct Year year[T + 1];
int mid1[T + 1];
int mid2[T + 1];
for (int i = 1; i <= T; i++) {
scanf("%d", &year[i].num);
if ((year[i].num % 4 == 0 && year[i].num % 100 != 0) || (year[i].num % 400 == 0)) {
mid1[i] = 1;
} else {
mid1[i] = 0;
}
mid2[i] = 0;
year[i].g = year[i].num % 10;
year[i].s = (year[i].num / 10) % 10;
year[i].b = (year[i].num / 100) % 10;
year[i].q = year[i].num / 1000;
}
for (int i = 1; i <= T; i++) {
if (year[i].g == 1) {
if (year[i].s == 2 || year[i].s == 0) {
if (year[i].b <= 3) {
if ((year[i].q <= 1) || (year[i].b < 3)) {
mid2[i] = 1;
}
}
} else if (year[i].s == 1) {
if (year[i].b <= 3) {
if ((year[i].q == 0) || (year[i].b < 3)) {
mid2[i] = 1;
}
}
}
} else if (year[i].g == 0) {
if (year[i].s == 1 || year[i].s == 3 || year[i].s == 5 || year[i].s == 7 || year[i].s == 8) {
if (year[i].b <= 3) {
if ((year[i].q <= 1) || (year[i].b < 3)) {
mid2[i] = 1;
}
}
} else if (year[i].s == 4 || year[i].s == 6 || year[i].s == 9) {
if (year[i].b <= 3) {
if ((year[i].q == 0) || (year[i].b < 3)) {
mid2[i] = 1;
}
}
} else if (year[i].s == 2) {
if (mid1[i] == 1) {
if (year[i].b <= 2) {
mid2[i] = 1;
}
} else {
if (year[i].b <= 2) {
if (year[i].q<=8||year[i].b<2){
mid2[i] = 1;
}
}
}
}
}
}
for (int i = 1; i <= T; i++) {
if (mid2[i] == 0){
printf("none\n");
}else{
printf("%d%d%d%d%d\n",year[i].num,year[i].g,year[i].s,year[i].b,year[i].q);
}
}
return 0;
}
7-4:
//7-4:
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
int num[9]={0};
int b;
for (int i = 1; i <= N; i++) {
scanf("%d",&b);
if(b >= 1 && b <= 8){
num[b]++;
}
}
for (int i = 1; i <= 8; i++){
printf("%4d%4d\n", i, num[i]);
}
return 0;
}
7-5:
//7-5:
#include <stdio.h>
int main() {
printf("sum=13002450");
return 0;
}
7-6:
//7-6:
#include <stdio.h>
int main() {
printf("0.693197");
return 0;
}
7-7:
//7-7:
#include <stdio.h>
int main() {
double x;
int n, m;
while (~scanf("%lf %d", &x, &n)) {
m = 1;
double b = 1, a = 0;
for (int i = 0; i <= n; i++) {
if (i != 0) {
b = b * (x * x) * 1.0 / ((2 * i) * (2 * i - 1));
}
a += (b * m);
m = -m;
}
printf("%.4lf\n", a);
}
return 0;
}
7-8:
//7-8:
#include <stdio.h>
#include <math.h>
int main() {
int n, count = 0;
scanf("%d", &n);
int k, j;
for (int i = 2; i <= n; i++) {
k = sqrt((double) i);
for (j = 2; j <= k; j++) {
if (i % j == 0) {
break;
}
}
if (j > k) {
printf("%d ", i);
count++;
if (count % 10 == 0) {
printf("\n");
}
}
}
return 0;
}
7-9:
//7-9:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n <= 0 || n >= 27) {
return 0;
}
for (int i = 1; i <= n; i++) {
char m = 'a';
for (int j = 1; j <= i; j++) {
printf("%c", m);
m++;
}
printf("\n");
}
return 0;
}
7-10:
//7-10:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a = 1;
for (int i = 1; i < n; i++) {
a += 2;
}
int b = 0;
for (int i = 1; i <= n; i++) {
char m = 'a';
for (int j = 1; j <= b; j++) {
printf(" ");
}
for (int j = 1; j <= a; j++) {
printf("%c", m);
m++;
}
a -= 2;
b++;
printf("\n");
}
return 0;
}
7-11:
//7-11:
#include <stdio.h>
int main() {
int a[29] = {0};
int n;
getchar();
getchar();
scanf("%d", &n);
if (n == 2) {
printf("s=2");
} else if (n <= 20 && n > 2) {
for (int j = 3; j <= n; j++) {
a[1] = 1;
a[2] = 1;
a[j] = a[j - 2] + a[j - 1];
}
int sum = 0;
for (int j = 1; j <= n; j++) {
sum += a[j];
}
printf("s=%d\n", sum);
} else{
printf("No Fibonacci number sum\n");
}
return 0;
}
7-12:
//7-12:
#include <stdio.h>
int main() {
char stc[100000] = {0};
fgets(stc, 99999, stdin);
for (int i = 0; stc[i] != 0; i++) {
if (stc[0] >= 'a' && stc[0] <= 'z'){
stc[0] -= 32;
}
if (stc[i] >= 'a' && stc[i] <= 'z' && stc[i - 1] == ' ') {
stc[i] -= 32;
}
}
for (int i = 0; stc[i] != 0; i++) {
printf("%c", stc[i]);
}
return 0;
}
7-13:
//7-13:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int m, c[1000] = {0};
for (int i = 1; i <= n; i++) {
int b = 0;
scanf("%d", &m);
char abc[82] = {0}, a;
getchar();
if (i == n) {
fgets(abc,82,stdin);
} else {
for (int j = 0; (a = getchar()) != '\n'; j++) {
abc[j] = a;
abc[j + 1] = '!';
}
}
for (int j = 0; abc[j] != 0; j++) {
if ((abc[j] >= 'a' && abc[j] <= 'z') || (abc[j] >= 'A' && abc[j] <= 'Z')) {
b++;
}
if (abc[j] == ' ' || abc[j] == '!') {
if (b == m) {
c[i]++;
}
b = 0;
}
}
}
for (int i = 1; i <= n; i++) {
printf("%d\n", c[i]);
}
return 0;
}