c语言 给定一个三位正整数,输出其百位数字、十位数字及个位数字。
时间: 2024-10-11 19:03:01 浏览: 11
在C语言中,你可以通过将输入的三位正整数转换成字符串,然后逐个提取每一位数字来实现这个功能。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
int num;
// 输入三位正整数
printf("请输入一个三位正整数: ");
scanf("%d", &num);
// 将整数转换为字符串
char str[5]; // 存储100位字符就足够了
itoa(num, str, 10); // 使用itoa函数,它会把整数转换成字符串
// 提取并输出每一位数字
printf("百位数字: %d\n", str[0] - '0');
printf("十位数字: %d\n", str[1] - '0');
printf("个位数字: %d\n", str[2] - '0');
return 0;
}
```
在这个程序中,`str[0] - '0'` 表示获取第一个字符对应的ASCII值减去小写字母'a'的ASCII值('0'的ASCII值),以此得到数字字符的数值。同样,对`str[1]` 和 `str[2]` 也做同样的操作。
相关问题
c语言中给定一个三位正整数,输出其百位数字、十位数字及个位数字。
在 C 语言中,你可以通过将输入的三位正整数除以适当的基数并取余数的方式来获取每一位数字。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
int num, digit百, digit十, digit个;
// 输入三位正整数
printf("请输入一个三位正整数: ");
scanf("%d", &num);
// 百位数字 = (num / 100) % 10
digit百 = num / 100;
// 十位数字 = ((num % 100) / 10) % 10
digit十 = (num % 100) / 10;
// 个位数字 = (num % 10)
digit个 = num % 10;
// 输出每一位数字
printf("百位数字: %d\n", digit百);
printf("十位数字: %d\n", digit十);
printf("个位数字: %d\n", digit个);
return 0;
}
```
在这个程序中,我们首先输入一个整数 `num`,然后通过连续除以10并取模操作得到每位数字。
c语言;给定一个三位正整数,输出其百位数字、十位数字及个位数字
答:将给定的三位正整数n(n>=100)分解为百位数a、十位数b、个位数c:
a=n/100;
b=(n-a*100)/10;
c=n-a*100-b*10;
输出百位数a、十位数b、个位数c:
printf("百位数:%d\n",a);
printf("十位数:%d\n",b);
printf("个位数:%d\n",c);