3、编程实现以下功能:给-一个不多余5位的正整数,要求(1)求出它是几位数; (2)分别输出每一-位数字; (3) 按逆序输出各位数字,例如:原始数字为123, 应输出321.(类似思考:给出一个不多于5位的正整数,要求编写3个函数,分别实现上述功能。用c语言
时间: 2023-11-14 15:20:17 浏览: 74
delete--number.rar_K._delete namber_delete number_给定n位正整数
5星 · 资源好评率100%
下面是 C 语言中实现上述功能的完整代码:
```c
#include <stdio.h>
// 函数声明
int getDigitCount(int num);
void printDigits(int num);
void printDigitsReverse(int num);
// 主函数
int main()
{
int num;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
printf("它是 %d 位数\n", getDigitCount(num));
printf("每一位数字为:");
printDigits(num);
printf("\n");
printf("按逆序输出为:");
printDigitsReverse(num);
printf("\n");
return 0;
}
// 获取数字的位数
int getDigitCount(int num)
{
int count = 0;
while (num > 0)
{
num /= 10;
count++;
}
return count;
}
// 分别输出每一位数字
void printDigits(int num)
{
int digitCount = getDigitCount(num);
int divisor = 1;
for (int i = 1; i < digitCount; i++)
{
divisor *= 10;
}
for (int i = 0; i < digitCount; i++)
{
int digit = num / divisor;
printf("%d", digit);
if (i < digitCount - 1)
{
printf(",");
}
num %= divisor;
divisor /= 10;
}
}
// 按逆序输出各位数字
void printDigitsReverse(int num)
{
while (num > 0)
{
int digit = num % 10;
printf("%d", digit);
num /= 10;
}
}
```
在上述代码中,我们定义了三个函数,分别用来:
- 获取数字的位数
- 分别输出每一位数字
- 按逆序输出各位数字
在主函数中,我们首先读取用户输入的数字,然后分别调用上述三个函数输出数字的位数,每一位数字和按逆序输出的结果。
阅读全文