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

3按逆序打印出各位数字。 除此之外,程序还应当对不合法的输入做必要的处理,例如输入负数,输入的数超过三位
急求这道题目的c语言代码,谢谢了!!!!
急求啊!!!!!!如果现在立刻做出来可以提高悬赏。。。。。。。

楼主你好!

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

#include<stdio.h>

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<n&&n<=999){

  A(n);

  break;

 }

 if(n>999){

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

 }

 if(n<0){

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

 }

 }

 return 0;

}

 

 

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

温馨提示:答案为网友推荐,仅供参考
相似回答