C语言编程求助

来源:百度知道 编辑:UC知道 时间:2024/05/10 11:48:01
给一个不多于5位的正整数 ,要求:
1 求出他是几位数
2 分别输出每一位数字
3 按逆序输出各位数,例如原数为123,应输出321.

在visual c++6.0里面编译
#include "stdafx.h"
#include "stdio.h"
int main()
{
int x,n,g,s,b,q,w;
//g是个位,s是十位,b是百位,q是千位,w是万位
printf("请输入x:");
scanf("%d",&x);
while((x>99999)||(x<0)) //防止超过5位
{
printf("输入数值超出范围!\n");
printf("请重新输入x的值:\n");
scanf("%d",&x);
}
if((x>0)&&(x<=9))
n=1;
else
if((x>9)&&(x<=99))
n=2;
else if((x>99)&&(x<=999))
n=3;
else if((x>999)&&(x<=9999))
n=4;
else
n=5;
switch(n)
{
case 1:g=x;
printf("g=%d\n",g);
printf("The New number is %d.\n",g);
break;
case 2:s=x/10;g=x-10*s;
printf("The New number is %d%d.\n",g,s);
break;
case 3:
b=x/100;s=(x-b*100)/10;
g=x-b*100-s*1