用c语言编写函数f(n),使之能够对任意的正整数参数n,返回其位数,如f(123)的结果是3,f(9001)的结果是4,编写main(),在main()中输入任意正整数n,调用f()获取该正整数的位数并输出。
时间: 2023-06-10 17:05:55 浏览: 69
C语言程序实现:有一个整数n,写一个函数f(n),返回0到n之间出现的 "1 "的个数。比如f(13)=6,现在f(1)=1,问下一个最大的f(n)=n的n是什么?
4星 · 用户满意度95%
以下是用C语言编写的函数f(n)和main函数的示例代码:
```c
#include <stdio.h>
int f(int n) {
int count = 0;
while (n > 0) {
count++;
n /= 10;
}
return count;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
int digits = f(n);
printf("%d的位数是%d\n", n, digits);
return 0;
}
```
函数f(n)的原理是利用while循环,每次将n除以10并将计数器count加1,直到n变成0为止。最后返回计数器的值即可。
在main函数中,首先要获取用户输入的正整数n,然后调用函数f(n)获取n的位数,并将结果输出。
阅读全文