给定一个整数,将该数各个位上的数字反转得到一个新的数字。新数也应该满足整数常见类型,即除非给定的原数为零,否则反转后的最高位数字不应该为零
#include<stdio.h>
int main()
{
long long int a,b;
scanf("%lld",&a);
if(a==0)
{
printf("0");
return 0;
}
if(a<0)
{
a=-a;
printf("-");
}
do
{
b=a%10;
a=a/10;
if(b!=0)printf("%d",b);
}while(b==0);
while(a!=0)
{
b=a%10;
a=a/10;
printf("%d",b);
}
return 0;
}
#include "stdio.h"
void main()
{
int n,i,k=0;
scanf("%d",&n);
while(n>0){
k = k*10 + n%10;
n = n/10;
}
printf("%d",k);
}
利用char型数组。然后用atoi 转成整型。
#include <stdio.h>
int main() {
char arrs[100];
char targets[100];
int count = 0;
int res = 0;
scanf("%s", arrs);
for (int i = strlen(arrs) - 1; i >= 0; i--) {
targets[count++] = arrs[i];
}
res = atoi(targets);
printf("%d", res);
}
#include<stdio.h>
int ms(int n,int *t)
{
while(n>9)
{
n=n/10;
t[0]++;
}
return n;
}
int main()
{
int n;
scanf("%d",&n);
int t[25];
int j=0;
int t2[1]= {0};
int i;
int tem2;
while(n>9)
{
t2[0]=0;
int tem=ms(n,t2);
tem2=10;
for(i = 1; i < t2[0]; i++)
{
tem2=tem2*10;
}
n=n-tem2*tem;
t[j]=tem;
j++;
}
t[j]=n;
if(t[j]==0)
{
j--;
}
i=j;
while(j>=0)
{
printf("%d",t[j]);
j--;
}
return 0;
}
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i=0,a,b=0;
cin>>a;
while(a!=0)
{
b*=10;
b+=a%10;
a/=10;
}
cout<<b;
return 0;
}