用c语言写编程实现:获取键盘输入的三位正整数,计算并输出这个三位数的个位、十位、百位上的数字,同时,将这三个数字的和计算并输出。
时间: 2024-12-06 13:25:42 浏览: 35
c代码-9.键盘输入一个三位数的正整数,其个位与百位相加若等于十位上的数字则输出"Yes",否则输出"No"。例如,输入"176",则输出"Yes"。输入"258",则输出"No"
在C语言中,我们可以使用`getchar()`函数逐字符读取用户的输入,然后通过判断每一位的ASCII码来识别数字。以下是实现该功能的代码示例:
```c
#include <stdio.h>
int main() {
int num = 0; // 存储输入的三位数
char input; // 用于存储用户输入的字符
printf("请输入一个三位正整数:");
while((input = getchar()) != '\n') { // 循环直到遇到换行符
if('0' <= input && input <= '9') { // 检查是否是有效数字字符
num = num * 10 + (input - '0'); // 根据ASCII码将字符转换为数字,并累加到num上
} else if(num > 0 && num <= pow(10, 3)) { // 确保已经输入了三位数
break;
}
}
if(num > 0 && num <= pow(10, 3)) { // 检查输入的是不是三位数
int ones = num % 10; // 提取个位
num /= 10; // 移除个位
int tens = num % 10; // 提取十位
num /= 10; // 再移除十位
int hundreds = num; // 百位就是剩下的
printf("个位数字:%d\n", ones);
printf("十位数字:%d\n", tens);
printf("百位数字:%d\n", hundreds);
int sum = ones + tens + hundreds;
printf("数字之和:%d\n", sum);
} else {
printf("输入的不是三位正整数。\n");
}
return 0;
}
阅读全文