输入n个整数,输出其中最大值以及其所在的位置,并同时输出这n个数中素数的个数,用c语言
时间: 2023-06-14 15:05:53 浏览: 112
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断一个数是否为素数
bool isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入整数个数n:");
scanf("%d", &n);
int max = 0; // 最大值
int maxIndex = 0; // 最大值的位置
int primeCount = 0; // 素数个数
for (int i = 1; i <= n; i++) {
int num;
printf("请输入第%d个整数:", i);
scanf("%d", &num);
if (num > max) {
max = num;
maxIndex = i;
}
if (isPrime(num)) {
primeCount++;
}
}
printf("最大值为%d,它所在的位置为第%d个\n", max, maxIndex);
printf("素数个数为%d\n", primeCount);
return 0;
}
```
代码实现的思路是:
1. 首先通过 `scanf` 函数获取输入的整数个数 `n`。
2. 然后用一个 `for` 循环,依次获取用户输入的 `n` 个整数。
3. 在获取每个整数时,判断该数是否比当前最大值 `max` 更大,如果是则更新最大值和最大值的位置。
4. 判断每个输入的整数是否为素数,如果是则素数个数加 1。
5. 最后输出最大值及其所在的位置,以及素数个数。
需要注意的是,判断素数的函数 `isPrime` 只是一个简单的实现,并不是最优的。如果需要判断大量的素数,可以使用更高效的算法。