标题:如何将“123”变成”321”呢?
只看楼主
makoki
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-8-23
结帖率:66.67%
已结贴  问题点数:15 回复次数:6 
如何将“123”变成”321”呢?
# include <stdio.h>
# include <malloc.h>

void f(int i)
{
    int b;

    for (i; i != 0; i/10)
    {
        b = i%10;
        i = i/10;
        printf("%d", b);
    }
    return;
}

int main()
{   
    int a;
   
    printf("请输入想要输入的数:\n");
    scanf("%d", &a);

    f(a);

    return 0;
}

我的这个只是将123倒序输出321.
如何要将一百二十三,变成三百二十一后作为一整个值输出出来呢?
可以实现.....吗?
搜索更多相关主题的帖子: return 输入 int printf include 
2020-04-01 00:15
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:5 
for (i; i != 0; i/=10)

https://zh.
2020-04-01 00:18
makoki
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-8-23
得分:0 
回复 2楼 lin5161678
谢谢!我就说哪里不对劲。。。。
还是那个问题,可以将一百二十三变成三百二十一后输出来吗?

2020-04-01 00:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
程序代码:
#include <stdio.h>

unsigned f( unsigned n )
{
    unsigned r = 0;
    for( ; n!=0; n/=10 )
        r = r*10 + n%10;
    return r;
}

int main( void )
{  

    unsigned a;
    printf( "请输入想要输入的数:" );
    scanf( "%u", &a );
    printf( "%u", f(a) );
}

当然,以上程序并不完美,因为 unsigned未必存得下其十进制形式的逆序值。
比如 uint32_t 存得下 4294967289,但存不下 9827694924


2020-04-01 08:25
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:0 
这种问题我总想问100是输出001 还是1

https://zh.
2020-04-01 08:29
makoki
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-8-23
得分:0 
回复 3楼 makoki
谢谢!已参考。
2020-04-01 08:46
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
得分:5 
最好用while,

2020-04-01 09:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500776-1-1.html




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

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