判断整数n的位数并将n的每一位数逆序输出

1.判断整数n的位数
依次丢弃个位,十位......
例:int n=123; i=0;
丢弃个位:123/10=12  i=1
丢弃十位:12/10=1  i=2
丢弃百位:1/10=0  i=3
当算到0时,循环结束,输出位数为3.
int i=0;
do{
i++;
n/=10;
}while(n!=0);
return i;
}
2.逆序输出n的每一位数字
例:int n=123
保留个位:123%10=3  丢弃个位 123/10=12
保留十位:12%10=2  丢弃十位 12/10=1
保留百位:1%10=1  丢弃百位 1/10=0
{
int a=n%10;
n/=10;
printf("%d\n",a);
}while(n!=0)

3.判断n中有多少个1
只需要在2题的基础上加入a是否等于1的条件,不难想出要用if语句进行判断.
同理可推出求一个数中的某个数字个数也可以用这种方法。
int i=0
while(n!=0){
int a=n%10;
if(a==1){
i++;
n/=10;}
printf("%d",i);


猜你喜欢

转载自blog.csdn.net/qq_41896788/article/details/79850277