C语⾔-有关数字翻转的函数
众所周知,有两种形式的数字翻转。⼀种是忽略0的。
如,123的翻转数字是321,⽽700的翻转数字是7。我们称之为第⼀种数字翻转。它的函数如下。
int overturn(int num){
个案观察记录表int ot_num = 0; //翻转后的数字
int digit = 0; //每⼀次取出来的最末位的数字
while(num != 0){
if(num / 10 >=1){ //当输⼊的数没有被划到只剩⼀位时
digit = num % 10; //取出末位数字
num /= 10; //“划掉”最后⼀位
ot_num = ot_num * 10 + digit; //翻转
}
el{ //只剩⼀位时
ot_num = ot_num * 10 + num;
break;
}
}
return ot_num;
}
调⽤实例如下:
#include<stdio.h>
int overturn(int num){
int ot_num = 0; //翻转后的数字
int digit = 0; //每⼀次取出来的最末位的数字
while(num != 0){
if(num / 10 >=1){ //当输⼊的数没有被划到只剩⼀位时吸毒的案例
消费观念
digit = num % 10; //取出末位数字
num /= 10; //“划掉”最后⼀位
多大宝宝可以吃盐ot_num = ot_num * 10 + digit; //翻转
}
el{ //只剩⼀位时
ot_num = ot_num * 10 + num;
break;
}
cos30度等于多少}
return ot_num;
}
int main(){
int num = 0;
while(scanf("%d",&num) != EOF){
printf("%d\n",overturn(num));
}
return 0;
}
上⾯的注释写的很清楚,不多解释了。
那么第⼆种数字翻转是这样的。123的翻转数是321,⽽700的翻转数就是007 。它会如实地输出每⼀位的数字,不会进⾏任何省略。那么它的函数如下。
void overturn_honest(){
int num = 0;
int digit = 0;
scanf("%d",&num);
偏光太阳镜和普通太阳镜的区别
while(1){
if(num / 10 >= 1){
digit = num % 10;
num /= 10;
printf("%d",digit);
}
el{
printf("%d\n",num);
break;
}
}
}
可以看到,我这⾥⽤了⼀个void。因为除了char 没有⼀个数据类型可以保存类似007这样的数字,⽽就算保存了也没什么意义。所以我宁愿这个函数⽆返回值。
对它进⾏⼀个调⽤:
#include<stdio.h>
void overturn_honest(){
int num = 0;
int digit = 0;
燕分飞scanf("%d",&num);
while(1){
if(num / 10 >= 1){
digit = num % 10;
num /= 10;
printf("%d",digit);
}
el{
printf("%d\n",num);
泡面传奇
break;
}
}
}
int main(){
while(1)
overturn_honest();
}
但是有个问题,你不要没事找事去输⼊007这种数字去让他翻转,这纯属恶⼼⾏为。
欢迎使⽤这些函数!