import java.util.*; import java.lang.*; public class Main{ public static void main(String[] args){ Scanner scanner =new Scanner(System.in); while(scanner.hasNext()){ int n=scanner.nextInt(); int a=0; for(int i=2;i<=n/2;i++){ if(SuShu(i)){ if(SuShu(n-i)){ a=i; } } } System.out.println(a); System.out.println(n-a); } } //判断质数的方法 public static boolean SuShu(int n){ for(int i=2;i<=Math.sqrt(n);i++){ if(n%i==0){ return false; } } return true; } }转为c语言代码
时间: 2024-02-14 19:09:19 浏览: 353
java代码-import java.util.Scanner;
以下是将给定 Java 代码转换为 C 代码的结果:
```
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool SuShu(int n) {
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
int a = 0;
for (int i = 2; i <= n / 2; i++) {
if (SuShu(i)) {
if (SuShu(n - i)) {
a = i;
}
}
}
printf("%d\n", a);
printf("%d\n", n - a);
}
return 0;
}
```
请注意,此代码已进行了以下更改:
1. 替换了 java.util 和 java.lang 包为 stdio.h 和 math.h 头文件。
2. 替换了 Scanner 输入操作为 scanf 函数。
3. 替换了 System.out.println 输出操作为 printf 函数。
4. 移除了 hasNext() 方法,使用 EOF 检查以停止循环。
5. 添加了 bool 类型和 true/false 值,并调整了判断质数的方法。
阅读全文