zoukankan      html  css  js  c++  java
  • 作业题有感

    在网上上看了道作业题,要求是求整数的右起第k位数字的,作为一个爱好者,我练了练手

    View Code
    #include<iostream>
    #include<string>
    using namespace std;
    
    void digit(int n,int k)
    {
     char m[50];
     int len;
     itoa(n,m,10);
     len=strlen(m);
     if(k<0) cout<<"错误"<<endl;
     else
     {
         if(len>=k)
          cout<<""<<k<<"位的值为:"<<m[len-k]<<endl;
         else
           cout<<"0"<<endl; 
     } 
    }
    int main()
    {
    
        digit(238953857,9);
        cin.get();
        return 0; 
    }

    看到另一个人给的答案时有点惭愧了,不禁想,我为什么没想到呢.

    View Code
    #include<iostream>
    using namespace std;
    
    void digit(int n,int k)
    {
         int num;
         int l=1;
         num=n;
         if(k<0) cout<<"错误"<<endl;
         for(;l<k;l++)
         {
           num/=10;
         }
         cout<<""<<k<<"位的数值是:"<<num%10<<endl;
    }
    int main()
    {
        digit(23456789,4);
        cin.get();
        return 0;
    }

    不过程序的效率还是我的高,哈哈

  • 相关阅读:
    常用数列
    sqrt
    树状数组
    hash
    P1102 A-B数对
    codevs 1795 金字塔 2
    P2296 寻找道路
    [USACO16JAN]子共七Subsequences Summing to Sevens
    P3397 地毯
    关于调用&&传址
  • 原文地址:https://www.cnblogs.com/quickvos/p/2445751.html
Copyright © 2011-2022 走看看