SHUOSHIYOU
SHUOSHIYOU
采纳率0%
2015-12-20 07:31 阅读 6.9k

从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • VISUAL_STUDIO1 lifuguan 2015-12-20 08:45
     #include <iostream>
    using namespace std;
    int main()
    {
        cout << "输入一个数:" ;
        int n;
        cin >> n;
        cout << endl;
        int a = 1;
        int m;
        do
        {
            m = n/10;
            if(m>0)
                a++;
        }while(m>0);
    
        cout << a << endl;
        return 0;
    }
    
    
    
    
    点赞 1 评论 复制链接分享
  • q4444tita 青春逝如流水 2015-12-20 08:27

    我用java不过逻辑都一样
    int n = 987878976;//正是是从键盘接收的数字,处理后的数字。
    int count = 0;//保存数字的位数
    while(n>=1){
    count++;
    n = n/10;
    }
    //输出count就可以了

    点赞 评论 复制链接分享
  • herozhangbz herozhangbz 2015-12-20 08:49

    int n,m=0;
    printf("请输入数据\n");
    scanf("%d",&n);
    while(n>0)
    {
    m++;
    n=n/10;
    }
    printf("%d\n",m);

    点赞 评论 复制链接分享
  • qq_33394807 开始编程的李先生 2015-12-20 08:54
     #include <iostream>
    #include<stdio.h>
    using namespace std;
    
    int main()
    {
       int a,num = 0;
       scanf("%d",&a);
       if(a < 0) a = a * (-1);
       if(a == 0) num = 1;
       while(a >= 1){
        num++;
        a = a/10;
       }
       printf("%d",num);
        return 0;
    }
    
    
    点赞 评论 复制链接分享
  • q3733353520 我用双手-成就你的梦想 2015-12-21 03:50

    先判断如果不是数字,报错并提示重新输入(可以根据scanf的返回值判断)
    在判断,如果等于0输出1,小于则取反在计算

    点赞 评论 复制链接分享
  • tanjunchen 远方的飞猪 2015-12-21 10:38

    #include
    using namespace std;
    int main()
    {
    int a,num,count=1;
    cin>>a;
    num=a/10;
    while(num>0)
    {
    count++;
    num=num/10;
    }
    cout<<"位数是:"<<count<<endl;
    }

    点赞 评论 复制链接分享

相关推荐