给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

简介: 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

C语言实现

方法1:直接计算


c复制代码
 #include <stdio.h>  
 
   
 
 void reverseAndCountDigits(int n) {  
 
     int count = 0;  
 
     int reversed = 0;  
 
     while (n > 0) {  
 
         int digit = n % 10;  
 
         reversed = reversed * 10 + digit;  
 
         n /= 10;  
 
         count++;  
 
     }  
 
     printf("它是%d位数\n", count);  
 
     printf("逆序为:%d\n", reversed);  
 
 }  
 
   
 
 int main() {  
 
     int num;  
 
     printf("请输入一个不多于5位的正整数:");  
 
     scanf("%d", &num);  
 
     reverseAndCountDigits(num);  
 
     return 0;  
 
 }



方法2:使用数组(虽然对于简单问题可能稍显复杂,但展示了另一种思路)


c复制代码
 #include <stdio.h>  
 
   
 
 void reverseAndCountDigits(int n) {  
 
     int digits[5]; // 假设最多5位  
 
     int count = 0;  
 
     while (n > 0) {  
 
         digits[count++] = n % 10;  
 
         n /= 10;  
 
     }  
 
     printf("它是%d位数\n", count);  
 
     printf("逆序为:", count);  
 
     for (int i = count - 1; i >= 0; i--) {  
 
         printf("%d", digits[i]);  
 
     }  
 
     printf("\n");  
 
 }  
 
   
 
 int main() {  
 
     int num;  
 
     printf("请输入一个不多于5位的正整数:");  
 
     scanf("%d", &num);  
 
     reverseAndCountDigits(num);  
 
     return 0;  
 
 }



Python实现


方法1:字符串操作


python复制代码
 def reverse_and_count_digits(n):  
 
     n_str = str(n)  
 
     count = len(n_str)  
 
     reversed_n = n_str[::-1]  
 
     print(f"它是{count}位数")  
 
     print(f"逆序为:{reversed_n}")  
 
   
 
 num = int(input("请输入一个不多于5位的正整数:"))  
 
 reverse_and_count_digits(num)




方法2:数学方法(类似于C语言的第一种方法)


python复制代码
 def reverse_and_count_digits(n):  
 
     count = 0  
 
     reversed_n = 0  
 
     while n > 0:  
 
         digit = n % 10  
 
         reversed_n = reversed_n * 10 + digit  
 
         n //= 10  
 
         count += 1  
 
     print(f"它是{count}位数")  
 
     print(f"逆序为:{reversed_n}")  
 
   
 
 num = int(input("请输入一个不多于5位的正整数:"))  
 
 reverse_and_count_digits(num)



以上分别展示了C语言和Python中处理这个问题的两种方法。C语言展示了直接计算和使用数组两种不同方式,而Python则通过字符串操作和数学方法(类似于C语言的第一种方法)来实现。


image.png

相关文章
|
10月前
|
Python
判断一个数字是否为奇数或偶数:
判断一个数字是否为奇数或偶数:
|
4月前
判断该数字是几位数
【10月更文挑战第22天】判断该数字是几位数。
42 3
|
5月前
(剑指Offer)04、二维数组中的查找11、旋转数组的最小数字50、第一个只出现一次的字符(2021.12.02)
(剑指Offer)04、二维数组中的查找11、旋转数组的最小数字50、第一个只出现一次的字符(2021.12.02)
48 1
|
6月前
|
C语言 Python
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
168 4
|
9月前
|
存储
输⼊⼀个正整数,计算这个整数是几位数
输⼊⼀个正整数,计算这个整数是几位数
|
10月前
25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值
25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值
70 0
|
10月前
回文数的个数
回文数的个数
|
C++ Python
7-3 逆序的三位数
7-3 逆序的三位数
87 0
打印0~100000之间的水仙花数, 水仙花数指一个n位数,其各位数的n次方之和正好等于该数本身
打印0~100000之间的水仙花数, 水仙花数指一个n位数,其各位数的n次方之和正好等于该数本身
132 0
编程从键盘输入一个正整数n,判断该数的奇偶性,若为奇数输出“odd”,若为偶数输出“even”
编程从键盘输入一个正整数n,判断该数的奇偶性,若为奇数输出“odd”,若为偶数输出“even”

热门文章

最新文章