| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2679 人关注过本帖
标题:求倒序函数
只看楼主 加入收藏
flyingzc
Rank: 2
等 级:论坛游民
帖 子:22
专家分:13
注 册:2010-4-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
求倒序函数
函数要求如下:
要求输入一个整数(位数未知),函数返回该整数的倒序,禁止使用库函数。
今天的面试题,算法用%10 的余数的方法  这段代码怎么写呢
搜索更多相关主题的帖子: 倒序 函数 
2010-04-26 21:29
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:2 
如果位数未知,还是用整型去接收数据么?如果可以用字符串去接收数据的话,那剩下的不是很简单,也就用不到余数了。
LZ怎么看?
2010-04-26 23:54
flyingzc
Rank: 2
等 级:论坛游民
帖 子:22
专家分:13
注 册:2010-4-1
收藏
得分:0 
题目要求必须是整形的~
2010-04-27 00:20
wow51
Rank: 2
等 级:论坛游民
帖 子:16
专家分:27
注 册:2010-4-6
收藏
得分:2 
没有能做出来 但是有自己的想法:
    定义一个整形数组存放倒叙数data【】,定义输入数据为input,
       实现倒叙则可以采取这个方式倒叙数
第一位:data[1]=input-(input%10)*10
第二位:temp=input%10,data[2]=temp-(temp%10)*10
...
...//用循环实现

写程序是把data定义为动态数组程序看起来会比较优化。

[ 本帖最后由 wow51 于 2010-4-27 09:07 编辑 ]
2010-04-27 08:58
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
程序代码:
#include<iostream>
using namespace std;
int inversion(int num)
{
    int result=0, temp[20], i=0, j=1;
    while(num)
    {
        temp[i++] = num%10;
        num/=10;
    }
    while(i)
    {
        result += temp[--i]*j;
        j*=10;
    }
    return result;
}
int main()
{
    int num;
    cin>>num;
    cout<<inversion(num)<<endl;
    return 0;
} 
2010-04-27 10:37
wsf1991123
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2010-4-23
收藏
得分:2 
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    cout<<"请输入一个0~99999内的数字:";
    int n,sum=0;
    cin>>n;
    if(n<0||n>99999)
         cout<<"输入错误!";
    else
    {
      int k=n;
      while(n)
       {
             n/=10;
             sum+=1;
       }
         cout<<"位数为:"<<sum<<endl;
         n=k;
       while(n)
         {
            cout<<n%10;
            n/=10;
         }
            cout<<endl;
       }
    system("PAUSE");
    return EXIT_SUCCESS;
}
   
2010-04-27 12:42
回忆不是我的
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 13:34
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:2 
回复 楼主 flyingzc
我用递归函数写了一个。请楼主试试,看是否符合要求?
程序代码:

#include<iostream>
#include<cmath>
using namespace std;

void fun(int& m)
{
    int n;
    n=m/10;
    if(n==0)
        cout<<m;
    else
    {
        cout<<m%10;
        fun(n);
    }
   
}

int main()
{
    int m;
    cout<<"请输入一个整数:";
    cin>>m;
    if(m<0)
    {
        cout<<"-";
        m=abs(m);
    }
    fun(m);
    system("pause");
    return 1;

}


南国利剑
2010-04-27 19:13
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
对递归程序有什么看法?
请各位多多赐教!谢谢

南国利剑
2010-04-27 19:18
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
递归没有什么不好,不过递归的高消耗大家都知道的。
我想说的是:LZ的程序的要求是“写一个倒序函数,要求输入一个整数(位数未知),函数返回该整数的倒序,”
注意要求。倒序函数返回整数的倒序,你只是将倒序输出而已,6楼直接连个函数都没,直接输出,都没将倒序数存起。
一、LZ没说要输出倒序数,
二、如果LZ要用倒序做其它用途你怎么办?


[ 本帖最后由 lijm1989 于 2010-4-27 19:45 编辑 ]
2010-04-27 19:43
快速回复:求倒序函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038491 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved