在考生目录下,给定程序FILL1.C的功能是,调用函数,计算并输出数组a中非素数的乘积。 例如:如果数组a的元素为:2,3,4,5,6,7,9,10,11, 13,则程序的输出应为:非素数之积为:2160。 程序有两个空(1)、(2)需要补充完整。请将程序中的 (1)_和_(2)删除后,在相应的位置填入正确答案并调试直到得到正确结果为止。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!
时间: 2024-03-10 10:50:11 浏览: 13
程序如下:
```
#include <stdio.h>
#define N 10
int is_prime(int x)
{
int i;
if(x <= 1) return 0;
for(i=2; i<x; i++)
{
if(x % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int a[N], i, product = 1;
printf("请输入%d个整数:\n", N);
for(i=0; i<N; i++)
{
scanf("%d", &a[i]);
}
for(i=0; i<N; i++)
{
if(!is_prime(a[i])) //(1)填空
{
product *= a[i];
}
}
printf("非素数之积为:%d\n", product); //(2)填空
return 0;
}
```
空(1)处应填:is_prime(a[i]) == 0。
空(2)处应填:product。
程序运行结果如下:
```
请输入10个整数:
2 3 4 5 6 7 9 10 11 13
非素数之积为:2160
```
相关问题
1. 在主函数中定义一维整型数组a[10]并赋值;通过调用函数f1计算数组a中所有元素的平均值;通过调用函数f2输出数组a中的素数元素及其个数;通过调用函数f3输出数组a中元素最小值;要求用数组名作为参数并在主函数中输出这些结果。
下面是代码实现:
```c++
#include <iostream>
using namespace std;
// 计算数组平均值
double f1(int a[], int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i];
}
return sum / n;
}
// 判断是否是素数
bool isPrime(int num) {
if (num < 2) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
// 输出素数及其个数
void f2(int a[], int n) {
int count = 0;
cout << "素数有:";
for (int i = 0; i < n; i++) {
if (isPrime(a[i])) {
count++;
cout << a[i] << " ";
}
}
cout << "共" << count << "个\n";
}
// 输出最小值
int f3(int a[], int n) {
int minVal = a[0];
for (int i = 1; i < n; i++) {
if (a[i] < minVal) {
minVal = a[i];
}
}
return minVal;
}
int main() {
int a[10] = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};
int n = 10;
// 计算平均值
double avg = f1(a, n);
cout << "平均值为:" << avg << endl;
// 输出素数及其个数
f2(a, n);
// 输出最小值
int minVal = f3(a, n);
cout << "最小值为:" << minVal << endl;
return 0;
}
```
输出结果为:
```
平均值为:5.5
素数有:2 3 5 7 共4个
最小值为:1
```
用C语言:程序PROG1. C的功能是: 输入一个整数x(x=137),调用函数fun后,判断该数是不是素数。 请编写fun函数。
以下是用C语言编写的程序PROG1.C:
```c
#include <stdio.h>
int fun(int x);
int main() {
int x = 137;
if(fun(x)) {
printf("%d是素数\n", x);
} else {
printf("%d不是素数\n", x);
}
return 0;
}
int fun(int x) {
int i;
if(x <= 1) {
return 0;
}
for(i = 2; i * i <= x; i++) {
if(x % i == 0) {
return 0;
}
}
return 1;
}
```
在这个程序中,`fun`函数的作用是判断一个整数是否是素数。如果是素数,返回1;否则,返回0。程序中的`main`函数输入一个整数x,调用`fun`函数进行判断,然后输出结果。