编写递归函数int count(int n),统计任意正整数n的位数,在main函数中输入整数m,然后调用递归函数输出统计结果。
时间: 2024-05-11 08:18:55 浏览: 109
以下是递归函数int count(int n)的实现:
```c++
#include <iostream>
using namespace std;
int count(int n) {
if (n < 10) {
return 1;
}
else {
return 1 + count(n / 10);
}
}
int main() {
int m;
cout << "请输入一个正整数:";
cin >> m;
cout << m << "的位数为:" << count(m) << endl;
return 0;
}
```
该函数的思路是,如果n小于10,则n只有一位,返回1;否则,n的位数为1加上n/10的位数。这个递归过程会一直进行到n小于10为止。在main函数中,我们先输入一个正整数m,然后调用count函数输出m的位数。
相关问题
编写代码编写递归函数int count(int n),统计任意正整数n的位数,在main函数中输入整数m,然后调用递归函数输出统计结果。
好的,这里是对应的代码:
```c++
#include <iostream>
using namespace std;
int count(int n) {
if (n == 0) { // 递归结束条件:n为0时返回0
return 0;
}
return 1 + count(n / 10); // 递归调用:每次将n除以10,直到n为0
}
int main() {
int m;
cout << "请输入一个正整数:";
cin >> m;
int result = count(m);
cout << "该数的位数为:" << result << endl;
return 0;
}
```
注意,在递归函数中,我们先判断了结束条件,即当n为0时,返回0。否则,我们将n除以10,然后调用自身函数,将其返回值加1,最终得到结果。在main函数中,我们通过调用count函数获得统计结果,然后输出即可。
(2)编写递归函数int count(int n),统计任意正整数n的位数,在main函数中输入整数m,然后调用递归函数输出统计结果。C语言写
以下是递归函数 int count(int n) 的实现:
```c
int count(int n) {
if (n == 0) { // 递归终止条件
return 0;
}
return 1 + count(n / 10); // 递归调用
}
```
该函数的递归终止条件为 n 为 0,此时返回 0。否则,递归调用 count(n / 10) 统计 n 的除最后一位外的位数,并加上 1,即可得到 n 的位数。
在 main 函数中,输入整数 m 并调用 count 函数输出统计结果:
```c
#include <stdio.h>
int count(int n);
int main() {
int m;
printf("请输入一个正整数:");
scanf("%d", &m);
printf("该正整数的位数为:%d\n", count(m));
return 0;
}
int count(int n) {
if (n == 0) {
return 0;
}
return 1 + count(n / 10);
}
```
阅读全文