='A'&&c<='Z'||c>='a'&&c<='z'){//是" />

Timus 1226

系统 1714 0
      
        #include 
      
      
        <
      
      
        iostream
      
      
        >
      
      
        
#include
< string >
using namespace std;

int len = 0 , buf_len = 0 ;
char output[ 255 * 1000 + 2000 ] = { ' \0 ' }, buf[ 300 ] = { ' \0 ' };
char c;

int main() {
// FILE *p = fopen("in.txt", "r");
while (scanf( " %c " , & c) != EOF) {
if ( c >= ' A ' && c <= ' Z ' || c >= ' a ' && c <= ' z ' ) { // 是字母
buf[buf_len ++ ] = c;
}
else {
while (buf_len)
output[len
++ ] = buf[ -- buf_len]; // 倒序存放

output[len
++ ] = c; // 设置间隔符
}
}

while (buf_len) // 有可能在遇到任何特殊符号之前就EOF了,因此buf中的数据也就没有转换到输出中
output[len ++ ] = buf[ -- buf_len];

for ( int i = 0 ;i < len;i ++ )
printf(
" %c " , output[i]);

return 0 ;
}

这题目WA了一次test 2,去看了一下DISCUSS,说实在没什么心情自己想原因,心太乱了。

WA的数据就是没有其他字符就直接EOF,原来的程序没想到这一点。想了以后直接AC了。

Timus 1226


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论