............

题目描述

给定一个十进制整数,编程判断该十进制整数的位数。

输入

输入第一行是n,代表有多少个十进制整数,下面n行,每个十进制整数单独占一行。

输出

对应每行的十进制数,输出该十进制数的位数。

样例输入

3

1

11

123

样例输出

1

2

3

有没有数字大小的限制,有数字大小限制,直接用string 存,返回string的size()

#include "stdio.h"
#include <string>
int a[4][4] = { 0};
int main() {
	char a[1000000];
	scanf("%s", &a);
	printf("%d", strlen(a));
	return 0;
}

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,n,t=0,x;
    cin>>n;
    for(i=0;i<n;i++){
        t=0;
        cin>>x;
        while(x>0){
            x=x/10;
            t++;
        }
        cout<<t<<endl;
        t=0;
    } 
    

return 0;
}

#include "stdio.h"
#include <string>
int main() {
	int n = 0;
	char a[1000000];
	int i = 0;
	scanf("%d", &n);
	while (i < n) {
		scanf("%s", &a);
		printf("%d", strlen(a));
	}
	return 0;
}

 

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>

int fun(int n)
{
	int d=0;
	while(n > 0)
	{
		d++;
		n /= 10;
	}
	return d;
}

int main()
{
	int n,i,res=0;
	int *arr;
	printf("请输入整数的个数:");
	scanf("%d",&n);
	arr = new int[n];
	for (i = 0; i < n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for (i = 0; i < n;i++)
	{
		printf("%d\n",fun(arr[i]));
	}
	delete[] arr;
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632