给一个不多于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

相关文章
|
20天前
判断该数字是几位数
【10月更文挑战第22天】判断该数字是几位数。
13 3
|
2月前
|
C语言 Python
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
44 3
|
5月前
|
存储
输⼊⼀个正整数,计算这个整数是几位数
输⼊⼀个正整数,计算这个整数是几位数
|
6月前
25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值
25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值
51 0
求一个数是几位数并输出逆序数
求一个数是几位数并输出逆序数
63 0
复习C部分:1.看代码求值题 2.写三个整数代码从大到小输出 3.打印1~100中所有3的倍数 4.给定两个数,求最大公约数(递减法,辗转相除法)
复习C部分:1.看代码求值题 2.写三个整数代码从大到小输出 3.打印1~100中所有3的倍数 4.给定两个数,求最大公约数(递减法,辗转相除法)
156 0
复习C部分:1.看代码求值题 2.写三个整数代码从大到小输出 3.打印1~100中所有3的倍数 4.给定两个数,求最大公约数(递减法,辗转相除法)
编程从键盘输入一个正整数n,判断该数的奇偶性,若为奇数输出“odd”,若为偶数输出“even”
编程从键盘输入一个正整数n,判断该数的奇偶性,若为奇数输出“odd”,若为偶数输出“even”
AcWing 761. 字符串中的数字个数
AcWing 761. 字符串中的数字个数
59 0
AcWing 761. 字符串中的数字个数
|
算法
例题:1.正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数 2.将一句话的单词进行倒置,单词之间空格,标点不倒置,字母不超100
例题:1.正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数 2.将一句话的单词进行倒置,单词之间空格,标点不倒置,字母不超100
201 0