C语言 编写一个程序,输入一个正整数,求出它是几位数。

如题所述

思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
参考代码:
#include <stdio.h>
int main()

int n,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d\n",num);
    return 0;
}
/*
输出:
123456
6
*/

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-18
int fun(int num)
{
    int count=0;
    while(num!=0)
    {
        num=num/10;
        count++;
    }
    return count;
}

第2个回答  2017-05-19

#include <stdio.h>

int weishu(long n,int a[])

{int i=0;

 while(n)

 {

a[i++]=n%10;

n/=10;

 }

 return i;

}

void main (void)

{

 long n;   

 int k,i,j,t,a[20];

 scanf("%ld",&n);

 printf("原数:%ld\n",n);

 k=weishu(n,a);

 printf("位数:%d\n",k);

 for(i=0;i<k-1;i++)

for(j=0;j<k-1-i;j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf("从小到大:");

for(i=0;i<k;i++)

  printf("%d",a[i]);

printf("\n从大到小:");

for(i=k-1;i>=0;i--)

  printf("%d",a[i]);

printf("\n");

getch();

}

第3个回答  2020-02-29
自定义一个不限定长度的字符串输入函数,在主函数中调用输入数字字符串后求字符串各元素代表的十进制数字之和。举例代码如下:
相似回答