用c语言写输入一个偶数,将该偶数表示为两个素数之和。如输入14,则输出 14=1+13 14=3+11 14=7+7 并按该格式写到默认路径下test.txt文件中。
时间: 2024-03-06 20:50:22 浏览: 53
编写一个程序,从键盘输入一个偶数,输出该偶数写成的两个素数之和
3星 · 编辑精心推荐
好的,我已经明白了您的问题。下面是对应的C语言代码:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
FILE *fp;
printf("请输入一个偶数:");
scanf("%d", &n);
fp = fopen("test.txt", "w");
if (fp == NULL) {
printf("无法打开文件!\n");
return 1;
}
for (int i = 2; i <= n / 2; i++) {
if (is_prime(i) && is_prime(n - i)) {
fprintf(fp, "%d=%d+%d\n", n, i, n - i);
}
}
fclose(fp);
printf("已将结果写入文件test.txt中!\n");
return 0;
}
```
这段代码使用了一个 `is_prime` 函数来判断一个数是否为素数。然后在主函数中,我们输入一个偶数 `n`,并遍历所有小于等于 `n/2` 的素数 `i`,如果 `n-i` 也是素数,则输出结果到文件中。最后关闭文件并输出提示信息。
注意,为了让输出结果按照题目要求排列,我们使用 `fprintf` 函数来输出到文件中,并且每行最后要加上换行符 `\n`。
阅读全文