编写一个函数,利用指针实现保存输入的9个数中所有的奇数并输出,若没有奇数则输出NO。
时间: 2023-06-06 17:06:14 浏览: 78
好的,这个问题是编程问题,可以回答。以下是C++语言实现的代码:
```c++
#include <iostream>
using namespace std;
void findOdd(int* arr, int n) {
int oddCount = 0; // 奇数个数
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 1) {
cout << arr[i] << " ";
oddCount++;
}
}
if (oddCount == 0) {
cout << "NO" << endl;
}
}
int main() {
int arr[9];
cout << "Please enter 9 integers:" << endl;
for (int i = 0; i < 9; i++) {
cin >> arr[i];
}
cout << "The odd numbers are:";
findOdd(arr, 9);
return 0;
}
```
输入9个整数,函数`findOdd`通过指针传入数组并遍历数组,输出所有奇数。如果没有奇数,输出"NO"。
相关问题
c语言编写一个函数,利用指针实现保存输入的9个数中所有的奇数并输出,若没有奇数则输出NO。
好的,这是一个关于C语言函数的问题。我可以为您提供一个示例实现:
```c
void output_odd(int* arr){
int odd_count = 0;
int odd_arr[9];
for(int i=0; i<9; i++){
if(*(arr+i)%2 != 0){
odd_arr[odd_count] = *(arr+i);
odd_count++;
}
}
if(odd_count == 0){
printf("NO");
}
else{
for(int i=0; i<odd_count; i++){
printf("%d ", odd_arr[i]);
}
}
}
```
这是一个名为`output_odd`的函数,它的参数为一个指向包含9个整数的数组的指针。该函数将检查每个整数是否为奇数,并将所有奇数存储在另一个数组`odd_arr`中。如果数组中没有奇数,则输出`NO`。否则,将奇数打印到控制台上。
[C语言]指针保存输入的6个数 中所有的奇数并输出
好的,这个问题可以使用指针和循环来解决。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int nums[6];
int *p = nums; // 指针指向数组的首个元素
printf("请输入6个数字:\n");
for (int i = 0; i < 6; i++) {
scanf("%d", p + i); // 通过指针输入数字
}
printf("所有的奇数为:");
for (int i = 0; i < 6; i++) {
if (*(p + i) % 2 == 1) { // 通过指针判断数字是否为奇数
printf("%d ", *(p + i)); // 通过指针输出奇数
}
}
return 0;
}
```
这个程序首先创建一个包含6个整数的数组,并使用指针将其传递给`scanf`函数来输入6个数字。然后,程序通过指针遍历数组,判断每个数字是否为奇数,并输出所有的奇数。