解题思路:
和取反一样就是加了个判断第一个个位数是不是0通过定义一个i来判断是不是第一个    判断正负 正就正常取反 复就先算出绝对值然后输出一个-然后再取反
注意事项:

参考代码:

#include<stdio.h>

#include<math.h>

int main(){

    //y记录最后一位数字 a为传入的值 x为a的替代品可以进行删减

    int a,y,x;

    scanf("%d",&a);

    //i判断是不是一开始的第一个数 通过i判断要不要不输出0 如果一开始个位数是0则不输出

    int i = 0;

    //a大于0时正常赋值

    if (a>0)

    {

        x=a;

    }

    //a小于0时需要将a取绝对值给x 直接输出一个-当负数

    else if (a<0)

    {

        x=abs(a);

        printf("-");

    }

    //a为0时直接输出0

    if (a==0)

    {printf("0");}  

    //死循环不断的提取个位数删除个位数  直到只剩一个数时结束

    while (1)

    {      

        //通过%10取个位数

        y=x%10;

        //当个位数为0而且是第一个个位数时跳过这个个位数

        if (y==0&&i==0)

        {

        }

        //输出个位数

        else{

            printf("%d",y);

        }

        //i++后就不是第一个了

        i++;

        //删除个位数

        x=x/10;

        //当只剩一个个位数时 x为0

        if (x==0)

        {

        break;

           

        }

    }

   

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论