joecii @ 2023-03-02 00:29:56
#include<stdio.h>
#include<string.h>
int main()
{
int i;
char str[100];
scanf("%s",str);
if(str[0]!='-')
{
for(i=strlen(str)-1;i>=0;i--)
{
printf("%c",str[i]);
}
}
else
{
printf("%c",str[0]);
i=strlen(str)-1;
while(str[i]=='0')
{
i--;
}
for(;i>0;i--)
{
printf("%c",str[i]);
}
}
return 0;
}
by joecii @ 2023-03-02 00:31:34
好像有一个测试数据过不了
by Kevin_Mamba @ 2023-03-02 05:58:48
@joecii 非负数也要去掉前导零。
注意 0 要特判。
if(str[0]!='-')
{
i=strlen(str)-1;
while(str[i]=='0')
{
i--;
}
for(;i>0;i--)
{
printf("%c",str[i]);
}
printf("%c",str[0]);
}
by joecii @ 2023-03-02 08:09:15
@Kevin_Mamba 好的,谢谢.
by shapley @ 2023-03-14 14:45:28
正整数,结尾是0的没有去0。比如500。
by 11116a @ 2023-04-15 13:04:07
@joecii
#include<bits/stdc++.h>//头文件
using namespace std;//cin,cout必备的
long long s[11]={},n,k=0,a=1;//数组s,n和转换后的k,再加一个a,作用后面讲
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;//存入k
while(k%10==0) k/=10;//倒着看,最后有0就除掉
cout<<k;//输出不解释
return 0;//好习惯棒棒哒[恶心][恶心][呕吐][呕吐]
}
by 11116a @ 2023-04-15 13:05:07
#include <bits/stdc++.h>
using namespace std;
int n=0,s=0;//定义与归0
int main(){
for(cin>>n;n!=0;n/=10)s=s*10+n%10;//同上一种的套路,暴力直接循环搞
cout<<numb;return 0;//输出,0会没掉的(自己去试)
}