zoukankan      html  css  js  c++  java
  • NOIP2011-普及组复赛-第一题-数字反转

    题目描述 Description
      给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
     输入输出格式 Input/output
    输入格式:
      输入文件名为reverse.in 。 
      输入共1 行,一个整数 N。
    输出格式:
      输出文件名为reverse.out 。 
      输出共1行,一个整数,表示反转后的新数。
     输入输出样例 Sample input/output
    样例测试点#1
    输入样例:

    【样例输入1】
    123
    【样例输入2】
    -380

    输出样例:

    【样例输出1】
    321
    【样例输出2】
    -83

    思路:判断是否是负数,如果是负数,输出一个“-”号,再变为正数进行计算

    计算过程:用一个数s来计算需要反转的数的从后往前的每一位,每次除以10求余,就得了。

    代码如下:

     1 #include<stdio.h>  
     2 int main()  
     3 {  
     4   int x,s=0;  
     5   scanf("%d",&x);     
     6   if(x<0)//判断是否负数  
     7   {  
     8     printf("-");//是,输出一个负号  
     9     x=x*(-1);//变为正数  
    10   }  
    11   while(x>0)//循环到这个数小于等于0为止  
    12   {  
    13     s=s*10+x%10;//计算每一位  
    14     x=x/10;//每次要除以10  
    15   }  
    16   printf("%d",s);//输出即可      
    17   return 0;  
    18 }
    我不怕千万人阻挡,只怕自己投降…
  • 相关阅读:
    C#的集合类(二)Hashtable、SortedList、Dictionary
    下载文件-JavaScript
    ASP.NET(C#)图片加文字、图片水印
    C# DataTable 互转 List<T>
    C# 将 DataTable 转 List<T>、首行转 T
    C# 金额转中文大写
    监听端口守护进程
    数据库操作的九大步骤
    日志方法
    sqlserver 查找所有子级
  • 原文地址:https://www.cnblogs.com/geek-007/p/4298489.html
Copyright © 2011-2022 走看看