解题思路:
和取反一样就是加了个判断第一个个位数是不是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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复