| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:输出数字的第n位
只看楼主 加入收藏
傲剑
Rank: 2
等 级:论坛游民
帖 子:51
专家分:28
注 册:2009-11-2
结帖率:88.89%
收藏
已结贴  问题点数:30 回复次数:4 
输出数字的第n位
函数返回n中第k个数字,右边算起。k》n时可以运行,但k《n时总是返回0  代码如下
#include    <stdio.h>
int digit(int n,int k);
main()
{
    int n,k;
    printf("Input two numbers:");
    scanf("%d %d",&n,&k);
    printf("The kth number is %d",digit(n,k));
    getch();
}

int digit(int n,int k)
{
    int m=0,i;
    while(n>0)
    {
        n/=10;
        m++;
    }
    if(k>m)
        return -1;
    else while(k>0)
    {
        i=n%10;
        n/=10;
        k--;
    }
    return i;
}
搜索更多相关主题的帖子: 数字 输出 
2010-04-22 13:49
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:20 
程序代码:
#include    <stdio.h>
int digit(int n,int k);
main()
{
    int n,k;
    printf("Input two numbers:");
    scanf("%d %d",&n,&k);
    printf("The kth number is %d",digit(n,k));
}

int digit(int n,int k)
{
    int m=0,i;
    int temp=n;
    while(n>0)
    {
        n/=10;
        m++;
    }
    if(k>m)
        return -1;
    else while(k>0)
    {
        i=temp%10;
        temp/=10;
        k--;
    }
    return i;
} 
2010-04-22 14:15
ychf890225
Rank: 4
等 级:业余侠客
帖 子:85
专家分:221
注 册:2010-4-15
收藏
得分:0 
第八行 把 printf("The %dth number is %d",k;digit(n,k));
如果是负数加上math.h  用fabs 函数 同上处理
2010-04-22 14:49
傲剑
Rank: 2
等 级:论坛游民
帖 子:51
专家分:28
注 册:2009-11-2
收藏
得分:0 
2楼的能解释下为什么要设置temp才行?
2010-04-22 22:30
itma
Rank: 4
等 级:业余侠客
帖 子:105
专家分:266
注 册:2010-2-8
收藏
得分:10 
回复 4楼 傲剑
n在前面变化了,while循环不能用了。。
所以索性把n给temp
2010-04-23 00:16
快速回复:输出数字的第n位
数据加载中...
 
   



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

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