求大神:输入一个正整数,输出其位数。施用strlen函数

求大神:输入一个正整数,输出其位数。使用strlen函数
需要满足这些条件
Description

 编写函数numberDigit(n),返回正整数n的位数,例如:numberDigit(1108),返回4。
Input

 输入文件包含多组数据,每组数据包含1个正整数n。输入以EOF结束。
Output

 对于每组数据,输出一行,输出结果为函数numberDigit(n)的返回值。
Sample Input
Copy sample input to clipboard

1108
10

Sample Output

4
2


------解决方案--------------------
#include<iostream>
#include<string>
using namespace std;

int numberDigit(int n)
{
    int m=0;
    while (n>0)
    {
        n = n / 10;
        m++;
    }
    return m;
}


int main()
{    
    cout<<numberDigit(1108);
    cout<<numberDigit(11);   
    return 0;
}

------解决方案--------------------

#include <stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int cnt=0;
while(n)
{
cnt++;
n/=10;
}
printf("%d\n",cnt);
}
}



#include <stdio.h>
#include <string.h>
int main()
{
char s[20];
while(scanf("%s",s)!=EOF)
printf("%d\n",strlen(s));
}