```c
include include include bool IsPrime(int x) { if (x <= 1) return false; if (x <= 3) return true; if (x % 2 == 0 || x % 3 == 0) return false; for (int i = 5; i * i <= x; i += 6) { if (x % i == 0 || x % (i + 2) == 0) return false; } return true; } int main() { int a = 0; printf("请输入一个整数:"); scanf("%d", &a); for (int i = 3; i <= a; i++) { if (IsPrime(i)) { printf("%d\n", i); } } return 0; } ``` 这个程序首先定义了一个`IsPrime`函数,用于判断一个数是否为素数。然后在`main`函数中,程序提示用户输入一个整数,并打印出从3到该整数之间的所有素数。 如果你需要编写其他类型的程序,例如查找500以内的所有完数、勾股数或输出特定范围内的素数等,可以根据具体需求修改代码。以下是一些示例: ```c include define MAX 500 int main() { int x = 2; for (; x <= MAX; x++) { int sum = 0; int k = 0; for (int i = 1; i < x; i++) { if (x % i == 0) { sum += i; k++; if (k > 1) { printf("%d, ", a[k - 1]); } } } if (sum == x) { printf("%d是一个完数,它的因子是", x); for (int t = 0; t < k; t++) { if (t < k - 1) { printf("%d, ", a[t]); } else { printf("%d。", a[t]); } } printf("\n"); } } return 0; } ``` ```c include include include bool IsPrime(int x) { if (x <= 1) return false; if (x <= 3) return true; if (x % 2 == 0 || x % 3 == 0) return false; for (int i = 5; i * i <= x; i += 6) { if (x % i == 0 || x % (i + 2) == 0) return false; } return true; } int main() { int a = 0; printf("请输入一个整数:"); scanf("%d", &a); for (int i = 3; i <= a; i++) { if (IsPrime(i)) { printf("%d\n", i); } } return 0; } ```查找500以内的所有完数
输出500以内的所有素数
输出500以内的所有勾股数