zoukankan      html  css  js  c++  java
  • C语言 · 反置数

    算法训练 反置数  
    时间限制:1.0s   内存限制:512.0MB
        
    问题描述
      一个整数的“反置数”指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。比如说,1245的反置数是5421,而1200的反置数是21。请编写一个程序,输入两个整数,然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。要求:由于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。
      输入格式:输入只有一行,包括两个整数,中间用空格隔开。
      输出格式:输出只有一行,即相应的结果。
      输入输出样例
    样例输入
    435 754
    样例输出
    199
     
    作者注释:
    学会了几个函数:头文件:stdlib.h

    itoa(n,&x,10)——数值转换成字符串函数。
    其中n,表示的是一个数值;&x表示的是转换后存放字符串的指针;10表示基于10进制。

    atoi函数:将字符串转为integer类型;
    atof函数:将字符串转为double类型;

     1 #include<stdio.h> 
     2 #include<string.h>
     3 #include<stdlib.h>
     4 #include<math.h>
     5 int fanzhi(int x){
     6     char c[50];
     7     itoa(x,c,10);//将参数x十进制的基础上转成字符串 
     8     int answer=0;
     9     int len = strlen(c);//获取字符串的长度 
    10     for(int i=len-1;i>=0;i--){
    11         if(c[i]!='0'){
    12             answer += (c[i]-'0')*(int)pow(10,i);
    13         }
    14     }
    15     return answer;
    16 }
    17 int main(){
    18     int a,b;
    19     scanf("%d%d",&a,&b);
    20     printf("%d",fanzhi(fanzhi(a)+fanzhi(b)));
    21     return 0;
    22 }
  • 相关阅读:
    rmq +二分暴力 hdu 5726
    8.25 ccpc 比赛总结
    莫比乌斯反演题目总结
    HDU 4848 Wow! Such Conquering! (搜索+floyd)
    Codeforces 982 C Cut 'em all!(DFS)
    Codefoces 986C AND Graph(DFS)
    CodeForces 986A Fair(BFS)
    ACM经验贴
    Kattis A+B Problem(FFT)
    CF E. Porcelain (双向dp)
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6568223.html
Copyright © 2011-2022 走看看