| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 956 人关注过本帖
标题:如何利用函数将一个数字逆序输出 急!
只看楼主 加入收藏
终止节奏
Rank: 1
来 自:内蒙古
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-11-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
如何利用函数将一个数字逆序输出 急!
题目:编程 ,输入1个整数,将它逆序输出。要求定义并调用函数rev(number),它的功能是返回number的逆序数。例如,rev(12345)的返回值是54321,结果之后加回车。
===========================
我只会用主函数的形式做出来,而不会用子函数来做,我下面的程序如何修改才能符合题目要求呢?
我是新手 希望大神能用最简单通俗易懂的方法让我弄懂。
感激不尽!!
====================================================================================
#include <iostream>
using namespace std;
int main()
{
    int k;
    int a,b,c,d,e;
    cin>>k;
    if(k>=10&&k<=99)
    {
        a=k%10;
        b=k/10;
        cout<<a<<b<<endl;
    }
    if(k>=100&&k<=999)
    {
        a=k%100%10;
        b=k%100/10;
        c=k/100;
        cout<<a<<b<<c;
    }
    if(k>=1000&&k<=9999)
    {
        a=k%1000%100%10;
        b=k%1000%100/10;
        c=k%1000/100;
        d=k/1000;
        cout<<a<<b<<c<<d;
    }
    if(k>=10000&&k<=99999)
    {
        a=k%10000%1000%100%10;
        b=k%10000%1000%100/10;
        c=k%10000%1000/100;
        d=k%10000/1000;
        e=k/10000;
        cout<<a<<b<<c<<d<<e;
    }
    return 0;
}
搜索更多相关主题的帖子: include number 如何 
2015-04-15 17:13
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:10 
把你写的代码放在子函数中,OVER
void rev(int k)
{
int a,b,c,d;//主函数不再定义这四个变量
if(k>=10&&k<=99)
    {
        a=k%10;
        b=k/10;
        cout<<a<<b<<endl;
    }
    if(k>=100&&k<=999)
    {
        a=k%100%10;
        b=k%100/10;
        c=k/100;
        cout<<a<<b<<c;
    }
    if(k>=1000&&k<=9999)
    {
        a=k%1000%100%10;
        b=k%1000%100/10;
        c=k%1000/100;
        d=k/1000;
        cout<<a<<b<<c<<d;
    }
    if(k>=10000&&k<=99999)
    {
        a=k%10000%1000%100%10;
        b=k%10000%1000%100/10;
        c=k%10000%1000/100;
        d=k%10000/1000;
        e=k/10000;
        cout<<a<<b<<c<<d<<e;
    }
}
//以上为子函数实现,以下为调用
int main()
{
    int k;
    cin>>k;
    rev(k);
}
2015-04-15 18:01
终止节奏
Rank: 1
来 自:内蒙古
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-11-18
收藏
得分:0 
回复 2楼 yangfrancis
题目的意思是让子函数返回一个值给主函数,你这么做的话就没有返回值了
2015-04-15 19:55
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
原来是要返回值。这样改吧
int rev(int k)
{
int a,b,c,d;//主函数不再定义这四个变量
if(k>=10&&k<=99)
    {
        a=k%10;
        b=k/10;
        return 10*a+b;
    }
    if(k>=100&&k<=999)
    {
        a=k%100%10;
        b=k%100/10;
        c=k/100;
        return 100*a+10*b+c;
    }
    if(k>=1000&&k<=9999)
    {
        a=k%1000%100%10;
        b=k%1000%100/10;
        c=k%1000/100;
        d=k/1000;
        return 1000*a+100*b+10*c+d;
    }
    if(k>=10000&&k<=99999)
    {
        a=k%10000%1000%100%10;
        b=k%10000%1000%100/10;
        c=k%10000%1000/100;
        d=k%10000/1000;
        e=k/10000;
        return 10000*a+1000*b+100*c+10*d+e;
    }
}
2015-04-17 09:55
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:10 
只是逆序输出,简单
void resvlist(int n)
{
   if(!n)return 0;
   printf("%d",n%10);
   resvlist(n/10);
}
void main()
{
   resvlist(123456);
   printf("\n");
}

能编个毛线衣吗?
2015-04-17 10:36
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
需要函数返回值的请参考下述网址13楼代码。
https://bbs.bccn.net/viewthread.php?tid=443687&page=2#pid2480058

[ 本帖最后由 wmf2014 于 2015-4-17 10:48 编辑 ]

能编个毛线衣吗?
2015-04-17 10:45
快速回复:如何利用函数将一个数字逆序输出 急!
数据加载中...
 
   



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

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