用C语言,编写一个函数。

编写一个函数digitl(n,k),返回正整数n左起第k个数字。例如digitl(23754,4)的值为5... 编写一个函数digitl(n,k),返回正整数n左起第k个数字。例如digitl(23754,4)的值为5 展开
 我来答
nc041001
2010-03-14 · TA获得超过399个赞
知道小有建树答主
回答量:513
采纳率:0%
帮助的人:167万
展开全部
int digitl(int n,int k)
{
int x[20];
int a;
for(a=0;n>=10;a++)
{
x[a]=n%10;
n=n/10;
}
x[a]=n;
a++;
return x[(a-4)];
}
muyejingefeng
2010-03-14 · TA获得超过348个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:0
展开全部
//如果不存在返回-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];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bigshuye
2010-03-14 · TA获得超过2320个赞
知道大有可为答主
回答量:5658
采纳率:0%
帮助的人:4457万
展开全部
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaohengas
2010-03-14 · TA获得超过407个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:441万
展开全部
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;
}
}

参考资料: 如果您的回答是从其他地方引用,请表明出处

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式