测试都对,但是一提交就0分,求指导

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

@[kkksc03](/user/1)
by Summation @ 2019-12-02 22:21:09


能说下测试点信息是什么吗
by 清月疏 @ 2019-12-02 22:26:22


@[TheGoodBoy](/user/256669) 放洛谷IDE上测
by 童年如作业 @ 2019-12-02 22:58:09


@[清月疏](/user/285153) 就是我运行题目中的示例都是正确的,但是提交的时候,都无法通过。
by TheGoodBoy @ 2019-12-02 23:17:57


@[童年如作业](/user/53695) 我自己测试都是正确的,但是提交就没有得分。
by TheGoodBoy @ 2019-12-02 23:21:33


大家,`抱歉了`,我找到自己的我错误了,是自己测试不全的原因,我下载了测试的样本,发现了自己代码中的不足。 下面是最后的代码: ``` #include <iostream> using namespace std; int main() { char key[11]; string data; int l1=0,l2; int j,k=0,ans=0,frist=-1; // 输入部分 cin >> key; cin.ignore(); getline(cin,data); while(key[l1]!='\0') l1++; l2 = data.size(); // 求字符串长度 // 字符串转小写 for(int i=0;i<l1;i++){ if(key[i]<'Z' && key[i]>'A') key[i]+=32; } // 数据转小写 for(int i=0;i<l2;i++){ if(data[i]<'Z' && data[i]>'A') data[i]+=32; } for(int i=0;i<l2;i++){ if(data[i-1]==' ' || i==0){ //如果前一个是 空格 或者等于0 就继续 j=i; while(data[j]==key[k]){ j++;k++; // 匹配成功的话 if(k==l1){ // 判断下一个是否为' ' 或者是否是最后一个 if(data[j]==' ' || j==l2){ ans++; if(frist==-1) frist=i; } break; } } } k=0; } if(ans) cout << ans << " "; cout << frist << endl; return 0; } ```
by TheGoodBoy @ 2019-12-02 23:52:59


|