用C语言,编写一个函数。
编写一个函数digitl(n,k),返回正整数n左起第k个数字。例如digitl(23754,4)的值为5...
编写一个函数digitl(n,k),返回正整数n左起第k个数字。例如digitl(23754,4)的值为5
展开
4个回答
展开全部
//如果不存在返回-1
int digitl(int n,int k)
{
char ch[10];
int value,index=0;
while((value=n%10)!=0)
{
ch[index]=(char)value;
n=n/10;
index++;
}
if(k>index || k==0)
return -1;
return ch[index-k];
}
int digitl(int n,int k)
{
char ch[10];
int value,index=0;
while((value=n%10)!=0)
{
ch[index]=(char)value;
n=n/10;
index++;
}
if(k>index || k==0)
return -1;
return ch[index-k];
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int digitl(int n,int k)
{
int ret;
unsigned char buff[128];
sprintf(buff,"%d",n);
if(strlen(buff) < k)
return -1;
ret=buff[k-1]-'0';
return ret;
}
{
int ret;
unsigned char buff[128];
sprintf(buff,"%d",n);
if(strlen(buff) < k)
return -1;
ret=buff[k-1]-'0';
return ret;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int digitl(int n,int k)
{
int i,j=0,m;
i=n;
do
{
i=i/10;
j++;
}while(i>0);
if(k>j||k=0)
printf("error!!");
else
{
i=n;
for(m=0;m<j-k;m++)
i=i/10;
return i%10;
}
}
{
int i,j=0,m;
i=n;
do
{
i=i/10;
j++;
}while(i>0);
if(k>j||k=0)
printf("error!!");
else
{
i=n;
for(m=0;m<j-k;m++)
i=i/10;
return i%10;
}
}
参考资料: 如果您的回答是从其他地方引用,请表明出处
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询