要求:从键盘输入这个5位数,分别输出其万位、千位、百位、十位和个位数的数字。如从键盘输入5位数:12345,输出:其万位上的数字为1,千位上的数字为2,百位上的数字为3,十位上的数字为4,个位上的数字为5。
时间: 2024-10-14 07:08:19 浏览: 43
在C语言中,可以使用取模运算符 `%` 来获取每一位数字,这里是一个简单的程序实现这个功能:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库,以便接收用户的输入
int main() {
char input[6]; // 最大允许5位数加一个结束字符
int i;
// 输入5位数
printf("请输入一个5位数: ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0'; // 移除末尾的换行符
// 分别输出每个位置的数字
for (i = 0; i < 5; i++) {
int digit = input[i] - '0';
switch(i) {
case 0: printf("万位上的数字为: %d\n", digit); break; // 注意这里的'0'不是实际的数值0
case 1: printf("千位上的数字为: %d\n", digit); break;
case 2: printf("百位上的数字为: %d\n", digit); break;
case 3: printf("十位上的数字为: %d\n", digit); break;
case 4: printf("个位上的数字为: %d\n", digit); break;
}
}
return 0;
}
```
在这个程序中,我们首先读取用户输入的5位数字符串,然后遍历这个字符串的每一个字符,通过减去字符 '0' 得到对应的数字。接着根据数字所在的位置(通过索引 `i`)来判断是哪一位。
注意,由于 `switch` 结构需要明确列出所有可能的情况,所以只能处理固定大小的五位数。如果要处理更大的数字,可以考虑使用数组或其他数据结构存储每位数字。
阅读全文