weijia31 @ 2016-02-12 11:14:45
http://paste.ubuntu.com/15021632/
我的代码中间的0和结尾的0都没问题但是是80分,求大神解答啊
by pcdzh @ 2016-02-12 15:25:17
0.00和000/9 呢?
by ALLEN @ 2016-02-12 19:49:57
weijia31
我是Pascal,先判断有没有负号,把a 变成正数,再repeat判断a/10是不是小数。不是的话除以十。这样可以把零删掉。再把a变成字符串,(输出/不输出)负号,再倒着输出。
不知道可不可以帮到你。
by ALLEN @ 2016-02-12 19:50:30
@weijia31
by 黄金面包王 @ 2016-02-22 22:19:56
有两种情况没有考虑进去:
1.输入0的情况
2.后方多个0重叠(例:435000)
#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
int main()
{
char a[11];
cin>>a;
long len=strlen(a);
if (a[0]=='0') {
cout<<a[0];
}
int x=0;
if (a[0]=='-') {
cout<<"-";
for (long i=len-1; i>0; i--) {
if (a[i]=='0' && x==0)
continue;
else
x=1;
cout<<a[i];
}
}
else if(a[0]!='0'){
for (long i=len-1; i>=0; i--) {
if (a[i]=='0' && x==0)
continue;
else
x=1;
cout<<a[i];
}
}
return 0;
}
by Ansonxiu @ 2016-05-31 18:22:41
#include<stdio.h>
int main()
{
long a,i,j;
scanf("%ld",&a);
if(a<0) {printf("-");a=0-a;}
while(a/10!=0)
{
if(i==0&&a%10==0) a/=10 continue;
else
{
i=1;
printf("%ld",a%10);
a/=10;
}
}printf("%ld",a%10);
return 0;
}