
求正整数第k位数字
求正整数第k位数字题目描述输入一个正整数n和k,输出该n数中从右边开始的第k位数字的值,如果k值大于n的位数,则输出“error”。要求编写函数intdigit(intn...
求正整数第k位数字
题目描述
输入一个正整数n和k,输出该n数中从右边开始的第k位数字的值,如果k值大于n的位数,则输出“error”。要求编写函数int digit(int n,int k),函数返回值n中从右边开始的第k位数字的值。如:digit(231456,3)返回值4;digit(1456,5返回值0。在主函数中调用digit函数,完成输出。
输入描述
输入正整数n、k
输出描述
输出该n数中从右边开始的第k位数字的值,如果k值大于n的位数,则输出“error”。
输入样例
样例输入1
231456 3
样例输入2
3421 6
输出样例
样例输出1
4
样例输出2
error 展开
题目描述
输入一个正整数n和k,输出该n数中从右边开始的第k位数字的值,如果k值大于n的位数,则输出“error”。要求编写函数int digit(int n,int k),函数返回值n中从右边开始的第k位数字的值。如:digit(231456,3)返回值4;digit(1456,5返回值0。在主函数中调用digit函数,完成输出。
输入描述
输入正整数n、k
输出描述
输出该n数中从右边开始的第k位数字的值,如果k值大于n的位数,则输出“error”。
输入样例
样例输入1
231456 3
样例输入2
3421 6
输出样例
样例输出1
4
样例输出2
error 展开
1个回答
展开全部
#include <stdio.h>
void main()
{
int i=0,k,n;
int digit(int,int);
loop: printf("请输入正整数n和k的值,例如12345 4:");
scanf("%d%d",&n,&k);
while(n<1||k<1)
goto loop;
if(digit(n,k))
printf("\n正整数%d的第%d位数字为:%d\n\n",n,k,digit(n,k));
else
printf("error!\n");
}
int digit(int n,int k)
{
int i=0,flag;
do
{
flag=n%10;
n/=10;
i++;
if(k==i)
return flag;
}while(n);
return 0;
}
void main()
{
int i=0,k,n;
int digit(int,int);
loop: printf("请输入正整数n和k的值,例如12345 4:");
scanf("%d%d",&n,&k);
while(n<1||k<1)
goto loop;
if(digit(n,k))
printf("\n正整数%d的第%d位数字为:%d\n\n",n,k,digit(n,k));
else
printf("error!\n");
}
int digit(int n,int k)
{
int i=0,flag;
do
{
flag=n%10;
n/=10;
i++;
if(k==i)
return flag;
}while(n);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询