描述
输入一串数字,把它反过来输出。
输入
一串数字
输出
数字串的位数
将原数字串每一位分开输出
将原数字串逆序输出
代码
#include <stdio.h>
#include <math.h>
int main()
{
int n, sum = 0, temp, count, other;
int size = 1;
scanf_s("%d", &n);
count = n;//不止一次要对n进行处理,所以再引入一个变量让其等于初始n再对此进行操作,不影响后续对n的使用
while (count / 10 >= 1)
{
size++; //看能除以几个10就是几位数
count = count / 10;//每次记一位数后就除以10否则会一直陷入死循环
}
printf("%d\n", size);
while (n)
{
temp = n % 10; //从右往左依次取出了n的个位
n = n / 10; //每取一次就丢掉取的那个数字
sum = sum * 10 + temp;//每次从左往右取出的数字都重新从右往左排列(逆序输出)
}
other = sum;//还要输出sum,所以再引入一个变量让其等于sum再对此进行操作,不影响后续对sum的输出
while (other > 0)
{
printf("%d", other % 10);//对倒序的数字从右往左取后输出(就又正序了hhh)
if (other / 10 >= 1)//只要不输出到个位,每次输出后都再输出一个空格
printf(" ");
other /= 10;//每次记一位数后就除以10否则会一直陷入死循环
}
printf("\n%d", sum);
return 0;
}