任意输入不超过6位的整型数,求数的位数,用switch语句输出各个数,并逆序输出的相关做法。c语言。

xiaoxiao2021-02-28  22

1.先来看怎么求一个整型数的位数。既然是整型,它除以10一定没有小数。那么依照此原理,将这个数除以10,直到这个数小于零,每除一次可以用count自加来计数,出完时将累加得的count输出,就是这个整型数的位数。

2.再来看看如何用switch分支语句来输出各个数:先看看switch的语法。

switch(表达式)

{

    case 常量:语句1;

    case 常量:语句2;

   ......

      case 常量:语句n;

   default:         语句n+1

}

表达式应该为整数类型,case后面跟的是常量,相当于一个具体的标签,如果遇到这个标签,就执行这个标签后面的语句。default后的语句什么情况下执行?当没有碰到case中的常量时,就执行。有个注意的点,每个case子句后都应该有一个break语句,表示该分支执行完毕,跳出来。

在这个具体的情况下,表达式为count,为数的位数。当位数为分别为6 5 4 3 2 1时就对应应该case子句。

例如位数为六的情况,看看怎么输出各个位的数:

1.先输出最高位的数,就用这个数除以100000,得到最高位,输出。

2.用这个数mod100000,就得到把这个数最高位丢掉后,剩下的数。

3.用剩下的数除以10000,得到万位,输出。

4.用剩下的数mod10000,得到去掉前两位后,剩下的数。

5.以此类推。

                总结一下:一个整型数除以它同位的1000......,,可以得到它的第一位数。一个整型数,mod于它同位的1000......可以得到丢下第一位后,剩下的数。

3.如何逆序输出这些数?

1.将这个数mod10,得到最后一位(想想是不是?),直接输出。

2.将这个数/10再mod10,/10就是把刚才的最后一位丢掉,再mod10就是输出当前的最后一位,这次输出的是不是就是倒数第二位?

3.以此类推。

转载请注明原文地址: https://www.6miu.com/read-750322.html

最新回复(0)