| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 18047 人关注过本帖
标题:请问如何判断一个数是几位?
只看楼主 加入收藏
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
结帖率:79.37%
收藏
已结贴  问题点数:5 回复次数:16 
请问如何判断一个数是几位?
如何判断一个数是几位的?例如2000就是4.高手帮下忙~~~
搜索更多相关主题的帖子: 判断 
2010-06-16 16:40
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:0 
定义一个数组,再求数组的长度呗!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-16 16:47
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
int count = 0;//储存位数
int i = 1;
int a = 10;
do
{
    ++count;
    i *= 10;
}while(i<=a);

迭代的是人,递归的是神。
2010-06-16 17:02
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
明白,谢谢了

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-06-16 17:09
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
有一道题,你们帮忙看看:
某大学的校运动会上,数学系的ABCD四位学生包揽了万米长跑比赛的前四名。当他们上台领奖时,艾蒙教授发现他们身上的运动员号码很有趣:A的号码数加4,B的号码数减4,C的号码乘4,D的号码除以4,得出的数都相等。且这四个号码中有三个是二位数,只有一个是一位数,而且刚好是这个号码运动员所得的名次。求这四位运动员的号码
我是这样写的:
#include <stdio.h>
void main()
{
    int a,b,c,d,f;
    for (a=0;a<=50;a++)
    for (b=0;b<=50;b++)
    for (c=0;c<=50;c++)
    for (d=0;d<=50;d++)
    {
        if ((a+4)==(b-4)==(c*4)==(d/4))
            printf ("%d,%d,%d,%d\n",a,b,c,d);
   
    }

}
不知道如何将数字的位数加上判断,请高手解答。

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-06-16 17:18
reddu007
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2010-6-16
收藏
得分:0 
具体到这个问题  一共就两种情况  非要用数组是不是有点儿教条了?
if num>9就是两位 else就说明是一位
int check(int num)
{
    if (num > 9)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
2010-06-16 19:47
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
a*b*c*d >= 1000000 && a*b*c*d < 10000000;//加上这个判断。
我也写了个。
#include<iostream.h>
int main()
{
    int c = 1;//依题意可得,C的号码最小,就是那个一位数。
    for ( ; c != 5; ++c)//名次是第一到第四名
    {
        int temp = c*4;
        if((temp+4>=10) && (temp-4>=10) && (temp*4>=10))
        {
            cout << "ABCD的号码分别为" << temp-4 << ' '<< temp+4 <<' ' << temp/4  << ' '<< temp*4;
        
        }
    }
}

迭代的是人,递归的是神。
2010-06-16 20:17
蜗牛的悲伤
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-6-8
收藏
得分:0 
晕了!

默默地耕耘,默默地收获,总会有美好的那天...
2010-06-16 21:19
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:0 
这个题瞅瞅就出来了吧……
且这四个号码中有三个是二位数,只有一个是一位数,而且刚好是这个号码运动员所得的名次。→这个一位数只能是1,2,3,4之一,而1,2,3无论是作为A还是C(BD显然不行)都不能保证剩下那个为两位数,所以这个一位数肯定是4吧
之后就好确定了,A12 B20 C4 D64
#include<iostream.h>
int main()
{
        printf ("12,20,4,64");

}
不知道对不对……
2010-06-16 22:24
erfen
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2010-5-30
收藏
得分:0 
- -  if里的比较就不对
2010-06-16 22:31
快速回复:请问如何判断一个数是几位?
数据加载中...
 
   



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

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