欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一、输入一个数(这里用函数实现) 1.输出它是几位数 2.逆序输出 3.正序输出

程序员文章站 2022-03-21 22:54:05
...

C语言

一、输入一个数(这里用函数实现)
1.输出它是几位数
2.逆序输出
3.正序输出

#include<stdio.h>
#include<math.h>

//这个真的(//∇//)很重要哦(*´ο`*)
/*输入一个数
1.输出它是几位数
2.逆序输出
3.正序输出
*/

//1.先写它是几位数(采用去掉个位的思想)
int Count(int num)
{    int i;
     if(num==0)
        {
            return 1;
        }  
     for (i=0;num!=0;i++)
        {
            num/=10;
        }
     return i;
}

//2.再写逆序输出从123456-->654321(采用取个位,丢个位的思路)
void Reverse_Print(int num)
{
    int tmp;//用于保存个位数值
    for(int i=1;num!=0;i++)
    {
        tmp=num%10;//取个位,放在tmp中
        num/=10;//丢个位
        printf("%d ",tmp);//每次循环便输出一次个位
    }
    printf("\n");
}

//3.顺序输出
void Order_Print(int num)
{
    int flg=Count(num);//先算出num是几位数,减一是
    int tmp;//保存最高位的值
    int div=pow(10,flg-1);//除数,需要除的数
    for(int i=1;num!=0;i++)
    {
        tmp=num/div;//取最高位数
        num%=div;//去掉最高位数剩余的数
        div/=10;
        
        printf("%d ",tmp);
    }
    printf("\n");
}
int main()
{
    printf("%d位数\n",Count(123456));//()中的 值可改哦
    Reverse_Print(123456);//逆序输出
    Order_Print(123456);//顺序输出
    return 0;
}

//如有不对的或者需要有改进的地方,欢迎大佬在评论区留言

努力变强Day1:生活总是让我们遍体鳞伤,但到后来,那些受伤的地方一定会变成我们最强壮的地方。