zhengziqi @ 2024-06-01 15:03:32
在线求助各位Dalaos 下面这个代码只得了100分 最后一个点超时 这是为什么???
#include<iostream>
#include<cstring>
using namespace std;
long long s[11]={},n,k=0,a=1;
int main()
{
memset(s,0,sizeof(n));//数组清零
cin>>n;
for(int i=1;i<=10;i++)
{
s[i]=n/a%10;
a*=10;
}//存储每一位(从个位开始)
a=1000000000;
for(int i=1;i<=10;i++)
{
k+=s[i]*a;
a/=10;
}//倒序
while(k%10==0)
{
k/=10;
}
cout<<k;
return 0;
}
我很无奈
by zhouzihang1 @ 2024-06-01 15:13:36
@zhengziqi 如果
by jiangyichen_10 @ 2024-07-13 10:39:21
要有对负数和零的特判:
#include<bits/stdc++.h>
using namespace std;
int f[15];
int main(){
int n,l=0,s=0;
cin>>n;
if(n==0){
cout<<0<<endl;
return 0;
}
if(n<0){
n=abs(n);
while(n>0){
f[l]=n%10;
n/=10;
l++;
}
s=f[0];
for(int i=1;i<=l;i++){
s*=10;
s+=f[i];
}
cout<<'-'<<s/10<<endl;
}else{
while(n>0){
f[l]=n%10;
n/=10;
l++;
}
s=f[0];
for(int i=1;i<=l;i++){
s*=10;
s+=f[i];
}
cout<<s/10<<endl;
}
return 0;
}