引导案例:键盘输入一个3位数控制台返回其反转后的数
#include<stdio.h> int main() { int num; printf("请输入一个整数:"); scanf("%d", &num); //思路:可以将这个数的个位十位百位将其分别求出来在倒着打印输出出来 int num1 = num % 10; //个位 int num2 = num / 10 % 10; //十位 int num3 = num / 100 % 10; //百位 printf("反转以后的数位:%d%d%d", num1, num2, num3); }
案例1:输入一个数使用while将其反转
#include<stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
//思路:例如321将其反转,将其个位十位百位分别求求出来,在一次拼接起来
// 个位1,十位2,百位3, 1*10+2=12,12*10+3
int rev = 0;
while (num != 0) {
int x = num % 10;
num = num / 10; //通过循环依次求出个位十位百位等
rev = rev * 10 + x;
}
printf("反转后的数是:%d", rev);
}
案例2:判断键盘输入的数是否为回文数
思路;只需要将案例1中的方法照搬过来先求出反转后的数
然后再将其与原数相比较相同则为回文数反之则不是
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
int num1 = num; //这里需要重新定义一个变量来保留键盘录入的值
int rev = 0; //因为在在下面的for循环会改变其的值
while (num != 0) {
int x = num % 10;
num = num / 10;
rev = rev * 10 + x;
}
if (rev==num1) {
printf("%d是回文数",num1);
}
else {
printf("%d不是回文数",num1);
}
}
标签:10,进阶,int,rev,案例,while,num,printf,num1 From: https://blog.csdn.net/2401_83720143/article/details/140559499