以下错误的描述是以下错误的描述是:函数调用孤A.出现在执行语问中题.出现在一个泰达式中
B做为一个幽数的实参D、做为一个函费的开爹//
看图哥们,上面是凑字数
int fun(int a);
A: fun(2);
B: fun(fun(3));
C: x=1+fun(4);
D 错误
在做逆序输出以及判断回文数题目之前,先做下这道题,如何计算用户输入的数是几位数呢?
思路:假设用户输入的数据是四位数1234
。
我们知道,1234%10=4
,我们就取到了用户输入数值中末位数字4
这个数字,这时候我们就知道用户输入的数至少是个位数
了(废话)。
我们还知道,1234/10=123
,我们可以利用他把用户输入的数值更新,更新之后,猜到没,我们再继续走步骤一,如果走得动,我们又知道用户输入的数值至少是两位数
了。
就这样再更新成12
,取得末位数字2
,我们就知道用户输入数值至少为三位数
了,再更新成1
,取得末位数字1
,我们就知道用户输入的数值至少为四位数
了这时候1/10=0
,完犊子,更新不了了,停止,我们就知道用户输入的数值,最终是四位数
。
具体代码如下:
#include <stdio.h>
int main(void)
{
int number = 0; //用来存放用户输入的数值
int count = 0;//用来记录我们猜测的数值位数。
printf("请输入一个数,我来判断你输入的是几位数:\n");
scanf("%d", &number);
while (number != 0)//当number/10等于0时
{
number = number / 10;//更新number
count++;//先更新在记录,先记录在更新的话记录的是前一次数值的位数。
}
printf("您所输入的数是%d位数", count);
return 0;
}
请输入一个数,我来判断你输入的是几位数:
56654523
您所输入的数是8位数