全是RE,不知道哪里有问题

P1553 数字反转(升级版)

```cpp #include <iostream> using namespace std; int main() { char *a=new char; int n=0; for(;(a[n]=cin.get())!='\n';n++){ };//输入 int k=1,l=0; for(int i=0;i<n;i++){//选择类型 if(a[i]=='.') k=2,l=i; else if (a[i]=='/') k=3,l=i; else if (a[i]=='%') k=4; }; int c=0; switch(k){//分类反转 case 1: for(int i=n-1;i>-1;i--){ if(c==1||a[i]!='0')//去掉开头的0 {cout<<a[i]; c=1;}; }; break; case 2: for(int i=l-1;i>-1;i--){ if(c==1||a[i]!='0') {cout<<a[i]; c=1;}; }; cout<<a[l]; c=0; for(int i=n-1;i>l;i--){ if(c==1||a[i]!='0') {cout<<a[i]; c=1;}; }; break; case 3: for(int i=l-1;i>-1;i--){ if(c==1||a[i]!='0') {cout<<a[i]; c=1;}; }; cout<<a[l]; c=0; for(int i=n-1;i>l;i--){ if(c==1||a[i]!='0') {cout<<a[i]; c=1;}; }; break; case 4: for(int i=n-2;i>-1;i--){ if(c==1||a[i]!='0') {cout<<a[i]; c=1;}; }; cout<<a[n-1]; break; } delete a; return 0; } ```
by 逃税奸商 @ 2019-01-27 20:21:36


抱歉渣渣第一次提问。。。 代码重贴了一下orz
by 逃税奸商 @ 2019-01-27 20:22:27


可能是数据的锅。没回车,你就结束不了输入就RE了。 改成这样就行了: ```cpp cin >> a;//直接cin就完事了 int n=strlen(a);//量个长度就好了 ``` 注意还得引用cstring库 ```cpp #include <cstring> ``` 才有**strlen()**函数 --第一次回复一个人的问题
by liuyuxuan @ 2019-01-31 22:38:36


|