c语言求质子数和的题目
时间: 2024-10-14 16:12:20 浏览: 28
在C语言中,求两个整数的质子数之和的简单程序可以这样编写。质子数是指原子核内正电荷的数量,也就是元素的原子序数。假设你有两个变量分别存储两个数字的值,我们可以创建一个函数来计算它们的质子数(实际上就是它们各自的数值),然后相加。
```c
#include <stdio.h>
// 定义一个函数来检查是否为质数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
// 主函数求质子数之和
int main() {
int num1, num2;
printf("请输入第一个数字: ");
scanf("%d", &num1);
printf("请输入第二个数字: ");
scanf("%d", &num2);
// 求每个数的质子数
int proton_sum = num1 + num2;
// 如果都是质数,直接返回质子数之和
if (is_prime(num1) && is_prime(num2))
printf("两数质子数之和: %d\n", proton_sum);
else {
int prime1 = is_prime(num1) ? num1 : 0;
int prime2 = is_prime(num2) ? num2 : 0;
printf("两数非质数部分之和: %d 和 %d 的质子数之和: %d\n", prime1, prime2, prime1 + prime2);
}
return 0;
}
```
在这个程序中,我们首先询问用户输入两个数字,然后计算这两个数的和作为潜在的质子数。接着判断这两个数字是否为质数,如果是,则直接给出质子数之和;如果不是,只计算质数部分的质子数之和。
阅读全文