请编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数。
时间: 2023-05-31 20:19:49 浏览: 307
C语言第五轮实验内容.doc
### 回答1:
函数fun的实现如下:
int fun(int *a)
{
int n = ;
for (int i = 1; i <= 100; i++) {
if ((i % 7 == || i % 11 == ) && !(i % 7 == && i % 11 == )) {
a[n++] = i;
}
}
return n;
}
该函数使用循环遍历1到100之间的所有整数,判断它们是否能被7或11整除,但不能同时被7和11整除。如果符合条件,则将该整数存入数组a中,并将n加1。最后返回n,即为符合条件的整数个数。
### 回答2:
这是一道典型的编程题目,需要我们编写一个函数来求出满足条件的整数,并将它们存储在一个数组中,最后返回符合条件的整数的数量。
首先,我们需要定义函数fun,并传入两个参数:a数组和n整型变量。其中,a数组用于存储符合条件的整数,n用于记录符合条件的整数个数。
接下来,我们需要使用循环遍历 1 到 1000 之间的所有整数,判断它们是否满足条件。如果它们既能被7整除,又能被11整除,那么就不满足条件,跳过这个数;否则,如果它们能被7或11整除,但不能同时被7和11整除,那么它就是符合条件的整数,存储到a数组中,并将n的值加一。最后,返回n,表示符合条件的整数的个数。
下面是函数fun的代码实现:
```c
int fun(int *a, int &n){
n = 0;
for(int i=1; i<=1000; i++){
if((i%7==0) && (i%11==0)){
// 既能被7整除,又能被11整除,不满足条件
continue;
}
if((i%7==0) || (i%11==0)){
// 能被7或11整除,但不能同时被7和11整除,符合条件
a[n++] = i;
}
}
return n;
}
```
接着,我们可以在主函数中调用函数fun,并输出符合条件的整数的个数和数组中存储的整数。示例代码如下:
```c
#include<iostream>
using namespace std;
int fun(int *a, int &n){
// 函数实现
}
int main(){
int a[1000], n;
int count = fun(a, n);
cout<<"符合条件的整数个数:"<<count<<endl;
cout<<"符合条件的整数为:";
for(int i=0; i<n; i++){
cout<<a[i]<<" ";
}
cout<<endl;
}
```
当然,我们也可以直接在函数中输出符合条件的整数,而不需要再在主函数中输出。代码如下:
```c
int fun(int *a, int &n){
n = 0;
for(int i=1; i<=1000; i++){
if((i%7==0) && (i%11==0)){
// 既能被7整除,又能被11整除,不满足条件
continue;
}
if((i%7==0) || (i%11==0)){
// 能被7或11整除,但不能同时被7和11整除,符合条件
a[n++] = i;
cout<<i<<" ";
}
}
cout<<endl;
return n;
}
```
总之,这道题目虽然不算难,但能够锻炼我们编程的思维和编码能力,尤其是在数组处理方面。
### 回答3:
这道题目,我们可以通过循环来判断每一个1到1000之间的整数是否满足条件,如果满足条件,就将它添加到数组a中。具体实现过程如下:
1. 定义函数fun,它包含一个参数a,表示用于存储符合条件的整数的数组,返回值为这个数组中元素的个数n。
```
int fun(int *a);
```
2. 在函数fun中定义变量n和count,分别表示数组a中当前已经存储的元素的个数和1到1000之间符合条件的数的个数,将它们初始化为0。
```
int count = 0, n = 0;
```
3. 使用循环遍历1到1000之间的整数,对于每一个数都进行以下判断:
如果这个数能被7或11整除并且不能同时被7和11整除,将其添加到数组a中,同时将count值加1。
```
for (int i = 1; i <= 1000; i++) {
if ((i % 7 == 0 || i % 11 == 0) && !(i % 7 == 0 && i % 11 == 0)) {
a[n++] = i;
count++;
}
}
```
4. 返回数组a中元素的个数n即可。
完整代码如下:
```
#include <iostream>
using namespace std;
int fun(int *a);
int main()
{
int a[1000], n = 0;
n = fun(a);
cout << "n = " << n << endl;
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
int fun(int *a)
{
int count = 0, n = 0;
for (int i = 1; i <= 1000; i++) {
if ((i % 7 == 0 || i % 11 == 0) && !(i % 7 == 0 && i % 11 == 0)) {
a[n++] = i;
count++;
}
}
return n;
}
```
阅读全文