| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2858 人关注过本帖
标题:这个代码怎么写啊:输入一个五位数,分割该数各个位上的数,并\t分隔开来, ...
只看楼主 加入收藏
huangruoxu
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-12-9
收藏
 问题点数:0 回复次数:12 
这个代码怎么写啊:输入一个五位数,分割该数各个位上的数,并\t分隔开来,请各位指教
在线等
搜索更多相关主题的帖子: 位数 分隔 代码 指教 输入 
2008-12-12 16:05
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
只限定于5位,不能多,也不能少。
[code]#include<stdio.h>
int main(void)
{
    long a;
    int b=10000;
    printf("input a:\n");
    scanf("%ld",&a);
    for(;b>0;a-=(int)(a/b)*b,b/=10)
        printf("%ld\t",a/b);
    printf("\n");
    return 0;
}
[/code]
2008-12-12 16:17
huangruoxu
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-12-9
收藏
得分:0 
哦,谢谢
2008-12-12 16:29
lejianyi
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-12-12
收藏
得分:0 
我也是新手.这个程序没有经过调试,但是思路应该差不多,可以借鉴参考下,我这个程序是任意输入一个数,十位以内的都可以.并且帮你把每个位上的数分割开\t输出.长整形的数最高好像也只有10位的样子...应该够了吧??呵呵.注释都有.如果有错误.请指出.我这里没有TURBO,不能调试.

#include "stdio.h"
#include "math.h"
void main()
{
    long a,b;
    int i;
    printf("please input a number");
    scanf("%ld",&a);/*输入一个长整形数*/
    for(i=1;i<=10;i++)
    {
        b=(int)(a/pow10(i));
        if(b<=0)break;
     }/*判断这个数一共多少位*/
    for(b=pow10(i-1);i-1>0;a-=(int)(a/b)*b,i--)/*其他的和BB是一样的*/
    printf("%ld\t", a/b);
    printf("\n");
    return 0;
}

[[it] 本帖最后由 lejianyi 于 2008-12-12 18:05 编辑 [/it]]
2008-12-12 16:59
lejianyi
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-12-12
收藏
得分:0 
对了,在说明一下.POW10(I)这个函数是说10的I次方...

[[it] 本帖最后由 lejianyi 于 2008-12-12 18:09 编辑 [/it]]
2008-12-12 17:00
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
楼上的朋友,你的 pow 函数用得有点问题。

另外,也无须那么麻烦,只需要定义:
long b=1;
while(b<a)
    b*=10;
b/=10;
即可。
2008-12-12 17:27
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
#include <stdio.h>
int main(void)
{
    long a,b=1;
    printf("please input a number");
    scanf("%ld",&a);
    while(b<a)
        b*=10;
    b/=10;
    for(;b>0;a-=(int)(a/b)*b,b/=10)
        printf("%ld\t", a/b);
    printf("\n");
    return 0;
}
2008-12-12 17:30
lejianyi
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-12-12
收藏
得分:0 
我也是新手,谢谢BB指教.另外就是想请教BB,POW函数问题出在哪里?运用的时候有什么要求?我还不是很了解,请赐教.
2008-12-12 17:50
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
函数原型
double pow(double x,double y)

看到了吧,是两个数值,而你的程序中只有一个值,是错的。
2008-12-12 18:02
lejianyi
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-12-12
收藏
得分:0 
对,是我弄错了,应该是POW10(I).....
很低级的错误......抱歉一下.
2008-12-12 18:03
快速回复:这个代码怎么写啊:输入一个五位数,分割该数各个位上的数,并\t分隔开 ...
数据加载中...
 
   



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

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