MW6776 @ 2023-02-13 13:22:23
#include <stdio.h>
#include <string.h>
int main(){
char a[12]={};
int n;
gets(a);
int m=strlen(a)-1;
if(strlen(a)==1&&a[0]=='0'){
printf("0");
}
else{
if(a[0]=='-'){
a[0]='\n';
printf("-");
}
for (n=strlen(a)-1;n>=0;n--){
if (a[m]=='0'){
continue;
}
printf("%c",a[n]);
}
}
return 0;
}
by dongwenteng10 @ 2023-02-13 13:37:45
括号乱了。。。
这是我用字符串写的
#include <bits/stdc++.h>
using namespace std;
char s[15];
int main(){
int len,a=0,flag=1,begin=0;
cin>>s;
len=strlen(s);
if(s[0]=='0'){
cout<<0;
return 0;
}
if(s[0]=='-'){
flag=0;
begin=1;
}
while(1){
if(s[len-1]=='0') len--;
else break;
}
if(flag==0) cout<<"-";
for(int i=len-1;i>=begin;i--){
cout<<s[i];
}
return 0;
}
但是不用可以很简单
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,ans=0;
cin>>n;
while(n)
{
ans=ans*10+n%10;
n=n/10;
}
cout<<ans;
return 0;
}
希望对你有帮助
by MW6776 @ 2023-02-13 16:23:43
@dongwenteng10 okok 谢谢大佬的思路,我的是因为括号乱了输出有问题吗?因为一直修改,可能括号没对齐。。。
by dongwenteng10 @ 2023-02-14 13:17:06
a[m]=='0'
是这句,如果末尾是0就会一直执行continue而没有输出,应改为
a[i]=='0';
还有,我不是大佬,我很蒻