您的位置:首页 > 编程语言 > C语言/C++

蓝桥杯 - 算法训练 反置数 C语言实现

2018-02-24 19:05 681 查看
算法训练 反置数题目:
问题描述
  一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。比如说,1245的反置数是5421,而1200的反置数是21。请编写一个程序,输入两个整数,然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。要求:由于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。
  输入格式:输入只有一行,包括两个整数,中间用空格隔开。
  输出格式:输出只有一行,即相应的结果。
  输入输出样例
样例输入
435 754
样例输出
199

分析:比较简单就不注释了...
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int fun (int n) {

int s =0;
char str[20];
int len;
int i;

itoa(n,str,10);
len = strlen(str);
for(i = len-1; i >= 0; i --){
s += (str[i]-48)*(int)pow(10,i);
}

return s;
}

int main () {

int a,b;

scanf("%d %d", &a, &b);

printf("%d",fun(fun(a)+fun(b)));

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: