C语言基础 求输入的数字是几位数 您所在的位置:网站首页 输出0到9的数字是多少位 C语言基础 求输入的数字是几位数

C语言基础 求输入的数字是几位数

2024-07-15 18:12| 来源: 网络整理| 查看: 265

---------------------------------------start reading------------------------------------------------- 问题:任意输入一个整数,求这是一个几位数字? 思路:每次除以10,则去掉一位数,统计一次。经过循环,直到最后一位数,除以10为0,停止循环,停止统计。

代码: (1)使用for循环

#include int Count(int n) { int i; if(n==0) { i=1; } for(i=0;n!=0;i++) { n/=10; } return i; } int main() { printf("这是一个 %d 位数",Count(123456)); return 0; }

(2)使用do–while循环

int Count(int n) { int tmp=0; do { n/=10; tmp++; } while(n!=0); return tmp; }

区别:若使用for循环则需要特别考虑无法进入循环的数字“0”,do–while循环则始终会执行一次,至少统计一次,所以不需要单独讨论“0”

问题引申:用20进制表示123,则为几位数? 用5进制表示123,则为几位数?

解决关键:如上述题,用十进制表示,统计位数,每次除以十。 本题用20进制则除以20,用5进制表示则除以5。

10进制 123=1*(102)+2*(101)+3*(100) 三位数 5进制 123=4*(52)+4*(51)+3*(50) 二位数 20进制 123=6*(201)+3*(200) 三位数

------------------------------------------------End-------------------------------------------------------



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有