C语言获取一个数字的个位数字
在C语言中,获取一个整数的个位数字非常简单,以下是几种常见的方法:

(图片来源网络,侵删)
方法1:使用模运算(推荐)
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
int units_digit = num % 10; // 模10运算得到个位数字
printf("个位数字是: %d\n", units_digit);
return 0;
}
方法2:使用除法和取余
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
// 先取绝对值,处理负数情况
num = (num < 0) ? -num : num;
int units_digit = num % 10;
printf("个位数字是: %d\n", units_digit);
return 0;
}
方法3:转换为字符串
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char num_str[20];
printf("请输入一个整数: ");
scanf("%s", num_str);
// 获取字符串最后一个字符
char last_char = num_str[strlen(num_str) - 1];
// 转换为数字
int units_digit = last_char - '0';
printf("个位数字是: %d\n", units_digit);
return 0;
}
注意事项
- 对于负数,模运算会返回负数的个位数字(如-123 % 10 = -3),如果需要正数的个位数字,可以先取绝对值。
- 方法3可以处理任意长度的数字(只要不超过字符串缓冲区大小),但效率较低。
- 如果输入的不是纯数字,方法3可能会出错,需要添加额外的验证代码。
最常用和推荐的是方法1,因为它简洁高效且适用于大多数情况。

(图片来源网络,侵删)
