| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 925 人关注过本帖
标题:逆序数字。解决不了输入 210,输出 012 啊。。我输出的是 12.
只看楼主 加入收藏
yahwei
Rank: 7Rank: 7Rank: 7
来 自:湖~
等 级:黑侠
威 望:3
帖 子:145
专家分:644
注 册:2011-11-10
收藏
得分:0 
以下是引用doudou74321在2014-11-22 17:45:34的发言:

如果是输入210  ,输出2  1  0 呢?正序输出

正序输出用递归最简单。

[qq]949654600[/qq]
2014-11-23 09:22
fogmaple
Rank: 4
来 自:江西省赣州市于都县
等 级:业余侠客
威 望:1
帖 子:119
专家分:233
注 册:2014-7-28
收藏
得分:0 
以下是引用longwu9t在2014-11-22 19:17:40的发言:


#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int x, i;
    int z=(1<<(sizeof(int)*8-1))-1;
    char str[999];
    char *p;
    itoa(z, str, 10);
    printf("可转换字符串最大长度为: %d,且不能大于%d\n", strlen(str), z);
    p = malloc((strlen(str)+1)*sizeof(char));
    printf("请输入要逆序输出的正整数:\n");
    scanf("%d", &x);
    itoa(x, p, 10);
    printf("要转换字符串长度为: %d\n", strlen(p));
    p = realloc(p,(strlen(p))*sizeof(char));
    printf("逆序输出如下:\n");
    for (i=strlen(p)-1; i>=0; i--)
    {
        printf("%c ", *(p+i));
    }
    printf("\n");
    printf("正序输出如下:\n");
    for (i=0; i<strlen(p); i++)
    {
        printf("%c ", *(p+i));
    }
    printf("\n");
    free(p);
    return 0;
}

赞同
2014-11-23 12:48
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:0 
程序代码:
#include <stdio.h>

void print(int num){
    if(num == 0){
    return;
    }
    else{
    int temp = 0;
    temp =num % 10;
    num /= 10;
    printf("%d ", temp);
    print(num);
    }
}

int main(void){
    int num;
    printf("请输入一个数字:");
    scanf("%d", &num);
    print(num);
    return 0;
}



[ 本帖最后由 liao06550107 于 2014-11-23 13:43 编辑 ]

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2014-11-23 13:41
快速回复:逆序数字。解决不了输入 210,输出 012 啊。。我输出的是 12.
数据加载中...
 
   



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

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