c语言,输入任意一个四位数,求它的十位数和个位数
时间: 2024-10-13 20:06:12 浏览: 38
C语言中的水仙花数,是指一个 n 位数,它的每个位上的数字的n次方之和等于它本身
在C语言中,你可以通过接收用户输入并处理字符串来获取任意四位数的十位数和个位数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char num[5]; // 定义一个长度为5的字符数组来存储四位数(包括空格)
int tenthDigit, unitDigit;
printf("请输入一个四位数:");
fgets(num, sizeof(num), stdin); // 使用fgets读取用户的输入,包括换行符
// 去掉末尾的换行符
num[strcspn(num, "\n")] = '\0';
// 分割数字得到每一位
char* str[] = {"", "", ""};
sscanf(num, "%d %d %d", &str[0], &str[1], &str[2]);
// 检查是否为四位数,如果不是则处理错误
if (strlen(str[0]) == 4) {
tenthDigit = atoi(str[1]); // 将字符串转换为整数获取十位数
unitDigit = atoi(str[2]); // 获取个位数
printf("十位数是:%d,个位数是:%d\n", tenthDigit, unitDigit);
} else {
printf("输入不是四位数,请重新输入。\n");
}
return 0;
}
```
在这个程序中,我们首先提示用户输入四位数,然后使用`fgets`读取并存储。接下来使用`sscanf`函数按照空格分割字符串,得到每个部分。最后检查字符串的长度,并将十位和个位数从字符串转换成整数。
阅读全文