hj36 字符串加密
这道题的话,基本思路以及本地测试都对,但是线上就是会有几个数据过不了,线下再测也是正确的,我想应该逻辑部分没有什么问题,是循环输入字符串的时候,他的缓冲区的问题,但是这个我暂时没有明确的解决办法
另外就是字符串的输入和处理,这个的话我很多都只是掌握了基础的用法,没有去分析里面的原理,后面的话还是要去多看多用,多多了解关于字符串的使用以及输入输出部分的内容
#include<stdio.h> int e,s,n,o,i; int main(){ char str[1000]; while(fgets(str,1000,stdin)!=NULL){ e=0,s=0,n=0,o=0; for(int i=0;str[i]!=0;i++){ if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')){ e++; }else if(str[i]==' '){ s++; }else if(str[i]>='0'&&str[i]<='9'){ n++; }else{ o++; } } printf("%d %d %d %d\n",e,s,n,o-1); } return 0; }