用C语言写一个给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出这个数字。(使用数组和函数实现要求2和3)
时间: 2023-11-24 22:14:20 浏览: 83
好的,这是一个比较基础的 C 语言编程问题,下面是代码实现:
```
#include <stdio.h>
int getNumLen(int num) {
int len = 1;
while (num >= 10) {
num /= 10;
len++;
}
return len;
}
void splitNum(int num, int* arr, int len) {
for (int i = 0; i < len; i++) {
arr[i] = num % 10;
num /= 10;
}
}
void reversePrint(int* arr, int len) {
for (int i = len - 1; i >= 0; i--) {
printf("%d", arr[i]);
}
printf("\n");
}
int main() {
int num, len;
int arr[5] = {0};
printf("请输入一个不多于5位的整数:");
scanf("%d", &num);
len = getNumLen(num);
splitNum(num, arr, len);
printf("这个数是 %d 位数\n", len);
printf("每一位数字依次为:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("按逆序输出为:");
reversePrint(arr, len);
return 0;
}
```
代码实现的思路如下:
1. 通过 `getNumLen` 函数获取输入数字的位数
2. 通过 `splitNum` 函数将输入数字按位拆分到数组中
3. 通过 `reversePrint` 函数按逆序输出数组中的数字
4. 在 `main` 函数中读入用户输入,然后依次调用上述函数输出结果
阅读全文