文章

67

粉丝

207

获赞

177

访问

53.5k

头像
统计单词 题解:易错点
P1394 华中科技大学
发布于2024年1月17日 22:13
阅读数 1.0k

  1. #include<iostream>
  2. #include <string.h>
  3. #include <stdio.h>
  4. using namespace std;
  5. int main(){
  6. char a[10000];
  7. char c[10000];
  8. int b[10000];
  9. int cc=0;
  10. while(1){
  11. cc=0;
  12. for(int i=0;i<10000;i++){//初始化(也可以 while(gets(c)))
  13. b[i]=0;
  14. a[i]=0;
  15. c[i]=0;
  16. }
  17. gets(c);
  18. for(int i=0;i<strlen(c);i++)
  19. {
  20. if(c[i]!='.')
  21. a[i]=c[i];
  22. else{
  23. a[i]=c[i];
  24. break;
  25. }
  26. }
  27. if(c[0]==0)
  28. break;
  29. for(int i=0;i<strlen(a);)
  30. {
  31. if(a[i]=='.')
  32. break;
  33. else if(a[i]!=' '){
  34. b[cc]=b[cc]+1;
  35. i++;
  36. }
  37. else if(a[i]==' '){
  38. cc++;
  39. i++;
  40. while(a[i]==' ')
  41. i++;
  42. }
  43. }
  44. for(int i=0;i<=cc;i++){
  45. if(b[i]==0)
  46. break;
  47. if(i==cc)
  48. cout << b[i] ;
  49. else
  50. cout << b[i]<<' ' ;
  51. }
  52. }
  53. system("pause");
  54. return 0;
  55. }

1. 句号后就结束了  例如 sdsdsd sdsdds.dsdds  句号后面就不算了

2. 句号后面的如果有很多空格也不能算 (我一直通过率在80就是因为这个)例如 sdds sdsd       .

3.多组数据,可以用while(1) 后面再break 因为是字符串 如果输入的是数字就必须用while(cin >> c) 因为输入一个非数字的就是跳出循环的条件(保险期间还是用while(gets(c)),我这里没改

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发