给定一个不多于5位的正整数,要求:①求它是几位数;②分别打印出每一位数字;③按逆序打印出各位数
#include
main()
{longintnum;
intindiv,ten,hundred,thousand,ten_thousand,place;
printf("请输入一个整数(0~99999):");
scanf("%ld",&num);
if(num>9999)place=5;
elseif(num>999)place=4;
elseif(num>99)place=3;
elseif(num>9)place=2;
elseplace=1;
printf("place=%dn",place);
ten_thousand=num/10000;
thousand=num/1000%10;
hundred=num/100%10;/*求高手具体解析下这个位置,要是num=89830是怎样的解析思路*/
ten=num%100/10;
indiv=num%10;
switch(place)
{case5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
printf("n反序数字为;");
printf("%d%d%d%d%dn",indiv,ten,hundred,thousand,ten_thousand);
break;
case4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("n反序数字为:");
printf("%d%d%d%dn",indiv,ten,hundred,thousand);
break;
case3:printf("%d,%d,%d",hundred,ten,indiv);
printf("n反序数字为:");
printf("%d%d%dn",indiv,ten,hundred);
break;
case2:printf("%d,%d",ten,indiv);
printf("n反序数字为:");
printf("%d%dn",indiv,ten);
break;
case1:printf("%d",indiv);
printf("n反序数字为:");
printf("%dn",indiv);
break;
}
}
邮箱: 联系方式: