|
|
翻转数就是把一个数的所有数字以相反顺序写出来,即原来的第一个数字成为最后一个,而原来的最后一个则成为第一个。我们把未翻转的数称为翻转数的原数。例如:6789的翻转数是9876,而6789就是9876的原数。 | |||
|
|
输入 (请使用标准输入输出,而不要读写文件) | |||
|
|
输入包含两个整数A、B,两数中间以空格分隔,0<A<100 000 000,0<B<100 000 000。 | |||
|
|
输出 (请使用标准输入输出,而不要读写文件) | |||
|
|
输出只有一个整数,即为 S 的翻转数。 | |||
|
|
| |||
|
样例输入1 |
样例输出1 |
样例输入2 |
样例输出2 | |
|
304 795 |
1 |
9 134855 |
44855 | |
#include<stdio.h>
//球翻转数的原数
long FormerlyNumber( long lReversal )
{
int i = 0 , j = 10 , k = 0 , l = 1;
int iDight = 0 ;//位数
long lFormerlyNumber = 0;
int c[9]; //保存各位的数字
for ( i = 0 ; i < 9 ; i++)
{
c[i] = 0;
}
//求位数
for( i=1; ; i=i*10 )
{
if( lReversal/i==0 )
break;
iDight++;
}
//求原数的每各位的数字
for( i=1; i <= iDight ; i++, j=j*10, l=l*10)
c[k++]=(lReversal%j)/l;
//求原数
for( i=iDight-1,j=1; i >= 0 ; i--, j=j*10 )
lFormerlyNumber = lFormerlyNumber + c[i] * j ;
return lFormerlyNumber;
}
void main()
{
long lA = 0, lB = 0 ; //输入的翻转数
long lFormerlyA =0, lFormerlyB = 0 ; //原数
long lSum = 0 , lFormerlySum=0; //原数的和及和的翻转数
printf("请输入两个翻转数lA,lB/n");
scanf("%ld %ld",&lA,&lB);
lFormerlyA = FormerlyNumber( lA );
lFormerlyB = FormerlyNumber( lB );
lFormerlySum = FormerlyNumber( lFormerlyA + lFormerlyB ) ;
printf("%ld/n",lFormerlySum);
}
759

被折叠的 条评论
为什么被折叠?



