/*Description
输入一个不超过109的正整数,输出它的位数。如13275的位数为5。
不要使用任何数学函数。
Input
输入数据有多组,每组包含一个不超过109的正整数,单独占一行。
Output
对应每组输入数据,输出它的位数,每组单独占一行。
Sample Input
123
123456
Sample Output
3
6*/
#include <stdio.h>
#define N 2
int main()
{
int a[N],n,b;
int i;
for(i = 0;i < N;i++)
{
scanf("%d",&b);
if(b < 1e9)
a[i] = b;
else
printf("错误!");
}
for(i = 0;i < N;i++)
{
n = 0;
while(a[i] != 0)
{
a[i] = a[i] / 10;
n++;
}
printf("%d\n",n);
}
}
只能用宏定义,实在想不到其他的方法