用c语言写一个给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字。(使用数组和函数实现要求2和3)
时间: 2024-02-17 21:00:50 浏览: 78
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
void analyze_number(int num){
// 将整数转换为字符数组
char num_str[6];
sprintf(num_str, "%d", num);
// 计算位数并输出
int length = strlen(num_str);
printf("这是一个 %d 位数\n", length);
// 逐位输出
printf("每一位数字分别是:\n");
for (int i = 0; i < length; i++) {
printf("%c\n", num_str[i]);
}
// 逆序输出
printf("逆序输出各位数字:\n");
for (int i = length-1; i >= 0; i--) {
printf("%c\n", num_str[i]);
}
}
int main() {
int num;
printf("请输入一个不多于5位的整数:");
scanf("%d", &num);
analyze_number(num);
return 0;
}
```
在这里,我们使用了 sprintf 函数将整数转换为字符数组,然后使用 strlen 函数计算它的位数。我们还定义了一个 analyze_number 函数,该函数接受一个整数作为参数,并使用上述方法分析它。最后,我们在主函数中获取用户输入,并将其传递给 analyze_number 函数。
请注意,这个程序可以处理不多于 5 位的整数。如果输入超出了这个范围,它可能会出现错误。
阅读全文