《统计一个整数的位数》由会员分享,可在线阅读,更多相关《统计一个整数的位数(1页珍藏版)》请在金锄头文库上搜索。
1、统计一个整数的位数从键盘读入一个整数,统计该数的位数。例如,输入 1234,输出 4;输入 0,输出 1。 一个整数由多位数字组成,统计过程需要一位位地数,因此这是个循环过程,循环次 数由整数本身的位数决定。由于需要处理的数据有待输入,故无法事先确定循环次数。程 序中引入了第 3 种循环语句 do-while。 源程序 /* 统计一个整数的位数 */ #include void main( )int count, number; /* count 记录整数 number 的位数 */count = 0;printf(“Input a number: “); /* 输入提示 */scanf(“%
2、d“, if(number 0) number = -number; /* 将输入的负数转换为正数 */do number = number / 10; /* 整除后减少一位个位数,组成一个新数 */count +; /* 位数加 1 */while(number != 0); /* 判断循环条件 */printf(“It contains %d digits.n“, count);运行结果 1 Input a number: 12534It contains 5 digits.运行结果 2 Input a number: -99It contains 2 digits.由于负数和相应的正数的位数是一样的,所以把输入的负数转换为正数后再处理。通 过不断地整除 10,该数最后变成了 0。例如,234 / 10,得 23,23 再整除 10,得 2,2 再整 除 10,得 0,结束循环,一共循环了 3 次,故 234 的位数是 3。