给一个不多于5位数的正整数,要求:1.求出它是几位数;2.分别输入每一位数字3.按逆序输出各位数字,例如原数位321,应输入为123 c语言
时间: 2024-05-05 20:19:47 浏览: 133
好的,以下是 C 语言的代码:
```
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于5位数的正整数:");
scanf("%d", &num);
printf("该数的每一位数字分别为:");
do {
digit = num % 10;
printf("%d ", digit);
num /= 10;
count++;
} while (num != 0);
printf("\n该数是%d位数\n", count);
return 0;
}
```
以上代码通过循环和取余运算,可以分别求出该数的每一位数字,然后统计位数并输出。如果按逆序输出各位数字,只需要在循环内先输出每个数字,然后再在循环结束后输出一个换行符即可。
相关问题
java给出一个不多于5位的正整数,要求: 1.求出它是几位数。 2.分别打印出每一位数
给定一个不多于5位的正整数num,我们可以通过以下的Java代码来完成要求:
```java
import java.util.Scanner;
public class DigitNumber {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个不多于5位的正整数:");
int num = input.nextInt();
String strNum = String.valueOf(num);
int length = strNum.length();
System.out.println(num + "是" + length + "位数。");
for (int i = 0; i < length; i++) {
System.out.println("第" + (i + 1) + "位数字是:" + strNum.charAt(i));
}
}
}
```
通过这个Java程序,我们首先接收用户输入的正整数num,然后将其转换为字符串形式,以便于获取其长度和每一位数字。接着我们求出num的位数,并且使用一个for循环遍历每一位数字,逐个打印出来。
例如,如果用户输入的正整数是12345,程序将会输出:
```
12345是5位数。
第1位数字是:1
第2位数字是:2
第3位数字是:3
第4位数字是:4
第5位数字是:5
```
这样就完成了我们的要求,输出了该正整数是几位数,并分别打印出了每一位数字。
给出一个不多于5位的正整数,要求: 1.求出它是几位数。 2.分别打印出每一位数字。 3.按照逆序打印出每一位数字。java
在Java中,你可以通过以下步骤实现这个功能:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个1到9的正整数(不超过5位):");
// 求出输入的整数位数
int num = input.nextInt();
int digitCount = String.valueOf(num).length(); // 使用字符串长度计算位数
System.out.println("该数字有" + digitCount + "位:");
// 分别打印每一位数字
for (int i = 0; i < digitCount; i++) {
int digit = num % 10; // 取最后一位
System.out.print(digit); // 打印当前位
num /= 10; // 移除最后一位
}
System.out.println("\n每位数字按顺序打印为:");
// 按照逆序打印每一位数字
for (int i = digitCount - 1; i >= 0; i--) {
System.out.print(num % 10); // 取并打印最后一位
num /= 10;
}
// 关闭Scanner
input.close();
}
}
```
当你运行这个程序,它会首先提示用户输入一个不超过5位的正整数,然后依次输出数字的位数、每个数字以及逆序的数字。
阅读全文