为什么样例过了,全wa c语言

P1308 [NOIP2011 普及组] 统计单词数

char arr[20]; char brr[1000001]; gets(arr); gets(brr); int i, j = 0, k; int n = 0, s = 0, count = 0; int key = 1; for (i = 0; arr[i] != '\0'; i++) { if (arr[i] >= 'a') arr[i] -= 'a' - 'A'; } for (i = 0; brr[i] != '\0'; i++) { if (brr[i] >= 'a') brr[i] -= 'a' - 'A'; } for (i = 0; brr[i] != '\0'; i = j + 1) { key = 1; for (j = i, k = 0; brr[j] != ' '; j++, k++) { if (brr[j] != arr[k]) { key = 0; } } if (key) { n++; s++; if (s == 1) { count = i; } } } if (n > 0) { printf("%d %d\n", n, count); } else { printf("-1"); } return 0; }
by lida_646 @ 2023-11-29 13:39:49


哥,你代码格式乱了,看不到
by n0nody @ 2023-11-29 14:35:45


@[n0nody](/user/711407) @[lida_646](/user/1213885) ```cpp #include "stdio.h" int main() { char arr[20]; char brr[1000001]; gets(arr); gets(brr); int i, j, k; int n = 0, s = 0, count = 0,key; for (i = 0; arr[i] != '\0'; i++) if (arr[i] >= 'a') arr[i] -= 'a' - 'A'; for (i = 0;brr[i] != '\0'; i++) if (brr[i] >= 'a') brr[i] -= 'a' - 'A'; for (i = 0;brr[i] != '\0';i = j + 1) { key = 1; for (j = i, k = 0;brr[j] != ' '; j++, k++) { if (brr[j] != arr[k]) key = 0; } if (key) { n++;s++; if (s == 1)count = i; } } if (n > 0) { printf("%d %d\n", n, count); } else { printf("-1"); } return 0; } ``` 格式刷回来了
by wangziwenhk @ 2023-11-29 14:52:38


@[lida_646](/user/1213885) ```cpp if (arr[i] >= 'a') arr[i] -= 'a' - 'A'; \\这个if语句里面没有判断arr[i]是否小于'z' ```
by wangziwenhk @ 2023-11-29 14:54:58


@[lida_646](/user/1213885) ```cpp for (j = i, k = 0;brr[j] != ' '; j++, k++) { //为什么是brr,假如brr有单词长度大于20呢 ```
by wangziwenhk @ 2023-11-29 14:57:35


@[wangziwenhk](/user/727556) 谢谢 上面还有一个#include "string.h"
by lida_646 @ 2023-11-29 19:00:17


@[wangziwenhk](/user/727556) 奥没注意到谢谢
by lida_646 @ 2023-11-29 19:01:10


@[wangziwenhk](/user/727556) 还是不行,就是想用' '与' '之间的单词与目标单词比较
by lida_646 @ 2023-11-29 19:03:41


|