请使用c语言编写详细完整函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数。 请使用c语言编写详细代码函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。
时间: 2024-02-20 21:59:07 浏览: 73
第一个问题的函数代码如下:
```c
int fun(int *a) {
int 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;
}
}
return n;
}
```
第二个问题的函数代码如下:
```c
int fun(char *s) {
int count = 0;
while (*s) {
if (*s >= '0' && *s <= '9') {
count++;
}
s++;
}
return count;
}
```
注意,在第二个问题中,我们需要遍历字符串中的每个字符,判断它是否为数字字符。我们可以使用指针来实现遍历,即 `s++`。同时也需要使用 `*s` 来获取指针指向的字符。
相关问题
请用C语言编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,且通过 n 返回这些数的个数
```c
int fun(int *a){
int 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;
}
}
return n;
}
```
使用方法:
```c
#include <stdio.h>
int fun(int *a);
int main(){
int arr[100];
int n = fun(arr);
printf("共有%d个数:\n", n);
for(int i=0; i<n; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
通过C语言编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数
下面是求解的C函数fun实现:
```c
int fun(int *a) {
int 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; // 将满足条件的数加入数组中
}
}
return n; // 返回满足条件的数的个数
}
```
在函数中,我们通过循环遍历1到1000之间的所有整数,对于每一个整数,我们判断它是否能被7或11整除且不能同时被7和11整除,如果满足这个条件,就将它保存到数组中并将n加1。最后返回n即可。
阅读全文