求大神帮我做一道c语言题目:给一个不多于三位的正整数,要求:1求出他是几位数。2分别打印出每一位数字。

2024-11-19 00:50:18
推荐回答(1个)
回答1:

楼主你好!

根据你的要求,我已经将代码实现如下,不知道符合你的要求不?

#include

void A(int n){

 int sum=n,i,j,k,m=1;

 while((sum=sum/10)!=0)m++;

 printf("该数字为%d位数\n",m);

 sum=n;

 printf("个位:%d\n",i=sum%10);

 sum=sum/10;

 printf("十位:%d\n",j=sum%10);

 sum=sum/10;

 printf("百位:%d\n",k=sum%10);

 if(m==3) sum=i*100+j*10+k;

 else if(m==2) sum=i*10+j;

 else sum=i;

 printf("该数字逆序为:%d\n",sum);

}

 

int main(){

 int n;

 while(1){

 printf("请输入一个不多于三位的正整数:");

 fflush(stdin);

 scanf("%d",&n);

 if(0

  A(n);

  break;

 }

 if(n>999){

  printf("该数字位数超过三位\n"); 

 }

 if(n<0){

  printf("该数字为负数\n");

 }

 }

 return 0;

}

 

 

希望我的回答对你有帮助!望采纳!