用c语言设计算法并编写程序,将1~500之间能被7或11整除,但不能同时被7和11整除的所有整数存放在数组a中,并输出。(用函数实现)
时间: 2024-02-26 16:56:26 浏览: 53
好的,我来为您提供一个C语言程序,实现您的需求:
```c
#include <stdio.h>
void findNums(int a[], int n) {
int i, j = 0;
for(i = 1; i <= n; i++) {
if((i % 7 == 0 || i % 11 == 0) && !(i % 7 == 0 && i % 11 == 0)) {
a[j++] = i;
}
}
}
int main() {
int a[500], i;
findNums(a, 500);
for(i = 0; i < 500 && a[i] != 0; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
这个程序中,我们定义了一个 `findNums` 函数,用于寻找1~500之间能被7或11整除,但不能同时被7和11整除的整数,并将其存储在数组 `a` 中。然后在 `main` 函数中,我们调用 `findNums` 函数,将结果存储在数组 `a` 中,并输出数组中的所有元素。
希望这个程序能够满足您的需求。如果您有任何疑问,请随时提出。
相关问题
用c语言设计算法并编写程序,将1~500之间能被7或11整除,但不能同时被7和11整除的所有整数存放在数组a中,并输出
好的,我来帮您解决这个问题。
首先,我们需要定义一个数组a来存放符合要求的整数。由于符合要求的整数个数不确定,我们可以先定义一个较大的数组,比如说100个。
接下来,我们需要编写一个循环来遍历1~500之间的所有整数,判断它们是否符合要求。如果符合要求,则将其存入数组a中。
具体的代码实现如下:
```c
#include <stdio.h>
int main()
{
int a[100], count = 0;
for (int i = 1; i <= 500; i++) {
if ((i % 7 == 0 || i % 11 == 0) && (i % 77 != 0)) {
a[count++] = i;
}
}
for (int i = 0; i < count; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
在以上代码中,我们首先定义了一个大小为100的数组a和一个计数器count,初始值为0。然后,我们使用一个for循环遍历1~500之间的所有整数,判断它们是否符合条件。如果符合条件,则将它们存入数组a中,并将计数器count加1。最后,我们再使用一个for循环输出数组a中存储的所有整数。
希望这个答案能够帮到您,如有疑问欢迎随时提出。
阅读全文