0分,求助,明明自己测试没有问题

P1957 口算练习题

```c #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> int digit_sum(int n) { if (n >= 0) { if (n >= 10) return digit_sum(n / 10) + 1; else return 1; } else { n = -n; if (n >= 10) return digit_sum(n / 10) + 2; else return 2; } } int main() { int n; scanf("%d", &n); getchar(); for (int u = 1; u <= n; u++) { char c1[200]; char c2[200]; char c3[200]; scanf("%s",&c1); if (isalpha(c1[0])) { scanf("%s",c2); int len2 = strlen(c2); scanf("%s", c3); int len3 = strlen(c3); if (c1[0] == 'a') { int w = atoi(c2) + atoi(c3); printf("%d+%d=%d\n",atoi(c2),atoi(c3),w); printf("%d\n", len2 + len3 + digit_sum(w) + 2); } if (c1[0] == 'b') { int w = atoi(c2) - atoi(c3); printf("%d-%d=%d\n", atoi(c2), atoi(c3), w); printf("%d\n", len2 + len3 + digit_sum(w) +2); } if (c1[0] == 'c') { int w = atoi(c2) * atoi(c3); printf("%d*%d=%d\n", atoi(c2), atoi(c3), w); printf("%d\n", len2 + len3 + digit_sum(w) + 2); } } else { strcpy(c2, c1); int len2 = strlen(c2); scanf("%s", c3); getchar(); int len3 = strlen(c3); int w = atoi(c2) + atoi(c3); printf("%d+%d=%d\n", atoi(c2), atoi(c3), w); printf("%d\n", len2 + len3 + digit_sum(w) + 2); } } return 0; } //把scanf("%[^\n]]")改成scanf("%s",)好多了,可还是有三个不过 ```
by RANce875 @ 2023-11-19 22:15:57


|