C语言程序设计 编写函数number

编写函数number( int x,int w),函数有两个int型行参x和w,函数返回值类型为int型,函数功能为返回x中从右边开始的第w位数字,如number(2365,2)的返回值为6,number(17854,3)的返回值为8。

#include <stdio.h>int number(int x, int w) { //返回整数number的从右往左数的第W位的数,如果x不满足w位,则返回-1。
if(x < 0) x = -x;
while(--w > 0) {
x /= 10;
if(x == 0) return (-1);
}
return x % 10;
}int main() {
int num,w,n;
printf("请输入一个整数 : ");
scanf("%d",&num);
printf("要显示右数第几位 : ");
scanf("%d",&w);
n = number(num, w);
if(n >= 0) printf("%d的第%d位是 : %d\n\n",num,w,n);
else printf("该数不满足%d位。\n\n",w);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-13
#include<stdio.h>
int number(int x,int w)
{
int num[10];
int count=0;
int r,y;
do{
r=x/10;
y=x%10;
if(r==0&&y==0)
break;
num[count]=y;//
count++;
x=r;
}while(1);
y=count-w;
if(y<0)
return -1;
else
return num[y];
}
void main()
{

printf("%d",number(12345,1));
return;
}
第2个回答  2013-07-13
int number(int x, int w){ int i; for(i = 1; i < w; i++) { x /= 10; } return x % 10;}
相似回答