题目描述:
1.一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。
2.如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。
3.比如说,1245的反置数是5421,而1200的反置数是21。
请编写一个程序,输入两个整数,然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。
输入:输入只有一行,包括两个整数,中间用空格隔开。
输出格式:输出只有一行,即相应的结果。
样例输入: 435 754
样例输出: 199
c语言代码实现
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// 反转字符串的函数
void reverseString(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
}
// 计算整数的反置数
long long reverseNumber(long long num) {
char str[20]; // 足够大以存储整数的字符串表示
sprintf(str, "%lld", num);
reverseString(str);
return atoll(str);
}
int main() {
long long num1, num2;
scanf("%lld %lld", &num1, &num2);
// 计算反置数
long long revNum1 = reverseNumber(num1);
long long revNum2 = reverseNumber(num2);
// 计算反置数之和
long long sum = revNum1 + revNum2;
// 输出结果
printf("%lld", sum);
return 0;
}