| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1836 人关注过本帖
标题:整形输入,字符输出。
取消只看楼主 加入收藏
c821101017
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2011-9-21
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:4 
整形输入,字符输出。
    望各位帮忙看下下面这段程序。它的作用是将输入的一串数字转换成字符形式输出,如输入123,则输出要是"123"。但是我觉得这个程序只能输出一串字符中的第一个字符,即只能输出“1”。望大家指教……
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
    void convert(int n);
    int number;
    printf("Ipput an integer: ");
    scanf("%d",&number);
    printf("output: ");
    if(number<0)
    {
        putchar('-');
        number=-number;
    }
    convert(number);
    putchar('\n');
}
void convert(int n)
{
    int i;
    if((i=n/10)!=0)
        convert(i);
    putchar(n%10+'0');
}
搜索更多相关主题的帖子: 整形 
2011-09-23 09:21
c821101017
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2011-9-21
收藏
得分:0 
回复 2楼 TonyDeng
    很惭愧,实在没看明白,还望指教……
2011-09-23 12:37
c821101017
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2011-9-21
收藏
得分:0 
回复 3楼 laoyang103
    你这个程序能运行出来结果,但是程序不能终止……你的程序可以这样改下:
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{  
    int j;
    int n;
    scanf("%d",&n);
    char a[100] = {0};
    j = 0;
    while(n)
    {
       a[j++] = n%10+48;
       n/=10;
    }
    while(j)
        putchar(a[--j]);
    printf("\n");
    return 0;
}
2011-09-23 12:49
c821101017
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2011-9-21
收藏
得分:0 
回复 8楼 TonyDeng
    你理解错了,其实我的想法是和你一样的,就是认为只会输出一个字符……但是我这个程序的结果却能将整个数字转换成字符形式输出。这正是我不明白的地方。
2011-09-23 12:52
c821101017
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2011-9-21
收藏
得分:0 
回复 12楼 TonyDeng
    你的意思也是如果输入整形数123,那么它就只输出“1”?
2011-09-23 13:00
快速回复:整形输入,字符输出。
数据加载中...
 
   



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

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