C 语言实现各位质数之和计算194


在计算机科学中,质数是一个大于 1 的自然数,它不能被任何其他自然数(除了 1 和自身)整除。例如,2、3、5、7、11 和 13 都是质数。给定一个整数,我们可以通过检查它是否可以被任何小于等于其平方根的整数整除,来确定它是否是质数。如果它不能被任何一个这样的整数整除,那么它就是质数。

现在,我们考虑一个问题:给定一个整数,计算其各位数字的质数之和。例如,对于整数 123,各位数字的质数和为 2 + 3 = 5,因为 2 和 3 都是质数。对于整数 456,各位数字的质数和为 5 + 6 = 11,因为 5 和 6 都是质数。

我们可以使用 C 语言编写一个程序来解决这个问题。以下是程序的步骤:1. 获取输入:从用户读取一个整数 `n`。
2. 将整数转换为字符串:使用 `sprintf()` 函数将整数 `n` 转换为字符串 `str`。
3. 遍历字符串:使用 `for` 循环遍历字符串 `str` 中的每个字符。
4. 提取数字:从字符串 `str` 中提取每个字符,将其转换为数字,并将其存储在变量 `digit` 中。
5. 检查质数:使用上述算法检查 `digit` 是否为质数。
6. 累加质数:如果 `digit` 是质数,将其添加到变量 `sum` 中。
7. 输出结果:输出各位数字的质数和 `sum`。

以下是 C 语言程序实现:```c
#include
#include
#include
int main() {
int n, sum = 0;
char str[100];
printf("输入一个整数:");
scanf("%d", &n);
sprintf(str, "%d", n);
for (int i = 0; str[i] != '\0'; i++) {
int digit = str[i] - '0';
int is_prime = 1;
for (int j = 2; j

2024-11-16


上一篇:C 语言中分段输出整数

下一篇:如何让 C 语言程序暂停输出