一道c语言的题目,为什么结果都运行不出来😭😭😭请大佬们帮帮忙~急!
题目:输入一个十进制正整数,它共有几位数字组成?-------------------------------------------------------------...
题目:输入一个十进制正整数,它共有几位数字组成?
-----------------------------------------------------------------------------
编写一个函数digits(),其原型为:
int digits(int n);
功能:返回n的十进制位数。
我编写的代码:#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int digits(int num)
{
int n,z,i;
n=0;
for(i=0;i<10000;i++)
{ z=10^i;
n++;
if(num/z<10)break;
};
n=n+1;
return(n);
}
int main()
{
int digits(int num);
int num;
scanf("%d", &num);
printf("%d\n", digits(num));
} 展开
-----------------------------------------------------------------------------
编写一个函数digits(),其原型为:
int digits(int n);
功能:返回n的十进制位数。
我编写的代码:#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int digits(int num)
{
int n,z,i;
n=0;
for(i=0;i<10000;i++)
{ z=10^i;
n++;
if(num/z<10)break;
};
n=n+1;
return(n);
}
int main()
{
int digits(int num);
int num;
scanf("%d", &num);
printf("%d\n", digits(num));
} 展开
1个回答
展开全部
#include <stdio.h>
int digits(int num){
int n=0;
if (num==0) return 1;
while(num/=10) n++;
return n+1;
//你原来程序中的z=10^i是BASIC中的写法,如果是C,应该用z=pow(10,i); 并且#include <math.h>
}
int main(){
int digits(int num);
int num;
scanf("%d", &num);
printf("%d\n", digits(num));
}
追问
谢谢你哇!感动(●´∇`●)~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询