C语言编程题目?
编写一个函数,利用指针实现保存输入的9个数中所有的奇数并输出,若没有奇数则输出NO。要求:1、不在子函数中输出。2、不能修改指定的子函数:voidGetOdd(inta[...
编写一个函数,利用指针实现保存输入的9个数中所有的奇数并输出,若没有奇数则输出NO。
要求:
1、不在子函数中输出。
2、不能修改指定的子函数:
void GetOdd(int a[],int *b,int *m)
【输入形式】
从键盘输入9个整数
【输出形式】
输出所有的奇数
【样例输入1】
1 4 7 2 5 8 3 6 9
【样例输出1】
1 7 5 3 9
【样例输入2】
2 2 2 2 2 2 2 2 2
【样例输出2】
NO 展开
要求:
1、不在子函数中输出。
2、不能修改指定的子函数:
void GetOdd(int a[],int *b,int *m)
【输入形式】
从键盘输入9个整数
【输出形式】
输出所有的奇数
【样例输入1】
1 4 7 2 5 8 3 6 9
【样例输出1】
1 7 5 3 9
【样例输入2】
2 2 2 2 2 2 2 2 2
【样例输出2】
NO 展开
2个回答
展开全部
以下是C语言代码实现:
```c
#include <stdio.h>
void GetOdd(int a[], int *b, int *m) {
int i;
*m = 0; // 初始化奇数个数为0
for (i = 0; i < 9; i++) {
if (a[i] % 2 != 0) { // 判断是否为奇数
b[(*m)++] = a[i]; // 存储奇数并将奇数个数加1
}
}
}
int main() {
int a[9], b[9], m, i;
// 输入9个整数
printf("请输入9个整数:\n");
for (i = 0; i < 9; i++) {
scanf("%d", &a[i]);
}
// 获取所有的奇数
GetOdd(a, b, &m);
// 输出奇数
if (m == 0) {
printf("NO\n"); // 没有奇数
} else {
printf("所有的奇数为:");
for (i = 0; i < m; i++) {
printf("%d ", b[i]);
}
printf("\n");
}
return 0;
}
```
首先定义一个GetOdd函数,该函数接受三个参数:整型数组a、指向整型数组b的指针以及指向整型变量m的指针。在GetOdd函数中,我们遍历整型数组a的每个元素,如果该元素是奇数,则将其保存到整型数组b中,并将奇数个数加1。
然后,在主函数中,我们输入9个整数,并通过调用GetOdd函数获取所有的奇数。最后,根据奇数个数的情况输出结果。如果没有奇数则输出“NO”,否则输出所有的奇数。
```c
#include <stdio.h>
void GetOdd(int a[], int *b, int *m) {
int i;
*m = 0; // 初始化奇数个数为0
for (i = 0; i < 9; i++) {
if (a[i] % 2 != 0) { // 判断是否为奇数
b[(*m)++] = a[i]; // 存储奇数并将奇数个数加1
}
}
}
int main() {
int a[9], b[9], m, i;
// 输入9个整数
printf("请输入9个整数:\n");
for (i = 0; i < 9; i++) {
scanf("%d", &a[i]);
}
// 获取所有的奇数
GetOdd(a, b, &m);
// 输出奇数
if (m == 0) {
printf("NO\n"); // 没有奇数
} else {
printf("所有的奇数为:");
for (i = 0; i < m; i++) {
printf("%d ", b[i]);
}
printf("\n");
}
return 0;
}
```
首先定义一个GetOdd函数,该函数接受三个参数:整型数组a、指向整型数组b的指针以及指向整型变量m的指针。在GetOdd函数中,我们遍历整型数组a的每个元素,如果该元素是奇数,则将其保存到整型数组b中,并将奇数个数加1。
然后,在主函数中,我们输入9个整数,并通过调用GetOdd函数获取所有的奇数。最后,根据奇数个数的情况输出结果。如果没有奇数则输出“NO”,否则输出所有的奇数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询