问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

C语言编写函数,把数组中所有奇数放在另一个数组中返回,

发布网友 发布时间:2022-05-21 06:06

我来回答

5个回答

热心网友 时间:2023-10-16 18:39

1.对2取余非零即为奇数

#include <stdio.h>

// 将src中奇数放入dst中,并返回奇数个数
int getOdd(int *dst, const int *src, int srcLen)
{
    int len = 0;
    for (int i = 0; i < srcLen; i++)
        if (src[i] % 2 != 0) // 非0即为奇数
            dst[len++] = src[i];
    return len;
}

int main()
{
    int a[10] = {0, 1, 2, 3, 4, -5, 6, 7, 8, -9}, b[10];
    int len = getOdd(b, a, 10);
    printf("Odd is: ");
    for (int i = 0; i < len; i++)
        printf("%d ", b[i]);
    return 0;
}

热心网友 时间:2023-10-16 18:39

你是不是用错了, odds(a,n,b,m);m这个必须要是&m因为你的参数是一个指针变量,而且arrout(b,m);这里的m一直是0,根本输不出任何数,int *bn这个变量时要来保存有多少个奇数的,所以你下面的程序bn=&j;这个去掉,直接用 odds(a,n,b,&m);用m的地址,在for循环的外面即
for(j=0,i=0;i<an;i++)
if(a[i]%2!=0)
{b[j]=a[i];j++;}
*bn=j;这样,然后arrout(b,m);这样调用就正确了,因为j的值赋值给了m ,我这个是针对于你的原题修改一下的

热心网友 时间:2023-10-16 18:40

#include<stdio.h>
void odds(int *a,int an,int *b,int *bn);
void arrout(int w[],int m);
#define n 10
main()
{
int a[n]={15,96,54,76,25,64,31,21,35,91};
int b[n],m=0;
arrout(a,n);
odds(a,n,b,&m);
arrout(b,m);
}
void arrout(int w[],int m)
{
for(int i=0;i<m;i++)
printf("%4d",w[i]);
printf("\n");
}
void odds(int *a,int an,int *b,int *bn)
{
int i,j;
for(j=0,i=0;i<n;i++)
if(a[i]%2!=0)
{
b[j]=a[i];
j++;
}
*bn=j;
}

热心网友 时间:2023-10-16 18:41

odds(a,n,b,m); 改成 odds(a,n,b,&m);
这样从函数返回后,b数组中存放了奇数,m等于b数组中元素个数
函数odds改成
void odds(int *a,int an,int *b,int *bn)
{
int i,j = 0;
for(i=0;i<an;i++)
if(a[i]%2!=0)
{b[j]=a[i]; j++;}
*bn = j;
}追问然后主函数就改成这样了,还有什么错误啊?
main()
{
int m=10,a[n]={15,96,54,76,25,64,31,21,35,91},b[m]={0};
arrout(a,n);
odds(a,n,b,&m);
arrout(b,m);
}

热心网友 时间:2023-10-16 18:41

这个bn不应该是个指针,应该是数组b的大小吧?改成这样,防止数组b溢出,
void odds(int *a,int an,int *b,int bn)
{
int i,j;
for(j=0,i=0;i<an,j<bn;i++)

if(a[i]%2!=0)
{b[j]=a[i];j++;}
}
编写函数,把数组中所有奇数放在另一个数组中返回。(假设数组的长度不超...

}int main(){int a1[50]={ 10, 31, 3, 11, 8, 12, 9, 78 };int a2[50];int a2l=sodd(a2, a1, 8);

把数组中所有奇数放在另一个数组中返回

1 2 3 4 5 6 7 8 9 10 数组B:1 3 5 7 9 非得用个函数的话就定义一个全局数组变量 define N 10 int b[N];main(){int a[N],i,j;printf("Inte array A:\n");for(i=0;i&lt;N;i++)scanf("%d",&amp;a[i]);choose(a,N);printf("array B:\n");j=0;while(b[j]!='\0...

编写程序,把数组中所有奇数放在另一个数组中并返回。

编写程序,把数组中所有奇数放在另一个数组中并返回。#include&lt;stdio.h&gt; int fun(int *p,int c) { int i,b[10]={0},a=0; for(i=0;i&lt;10;i++) if((p[i]%2)!=0) { b[a]=p[i]; a++; } for(i=0;i&lt;a;i++) printf("b[%d]=%d\n",i,b[i]); for(i=0;i&lt;10;i++) if((...

C语言编写函数把数组中所有的奇数放到另一数组返回

include &lt;stdio.h&gt; int fun(const int * const a,int n,int *const b){ int i,j;for (j=i = 0; i &lt; n; i++) { if (a[i]%2) { b[j++]=a[i];} } return j;} int main(void){ int a[10],b[10],i,j=0;for (i = 0; i &lt; 10; i++) { scanf("%d",&amp;a...

把数组中所有的奇数放在另一个数组中返回

输入数组A:1 2 3 4 5 6 7 8 9 10 数组B:1 3 5 7 9 非得用个函数的话就定义一个全局数组变量 define N 10 int b[N];main(){int a[N],i,j;printf("Inte array A:\n");for(i=0;i&lt;N;i++)scanf("%d",&amp;a[i]);choose(a,N);printf("array B:\n");j=0;while(b...

编写程序,把数组中所有奇数放在另一个数组中并输出

int *p,int c){int i,b[10]={0},a=0;for(i=0;i&lt;10;i++)if((p[i]%2)!=0){b[a]=p[i];a++;}for(i=0;i&lt;a;i++)printf("b[%d]=%d\n",i,b[i]);for(i=0;i&lt;10;i++)if((p[i]%2)==0){p[c]=p[i];c++;}return c;}void main(){int a[10]={0},...

C语言中如何把符合要求的数放到另一个数组中?

定义三个数组a[],b[],c[]。第一个a[]用来存放你输出的20个数字,后两个一个b[]存放奇数一个c[]存放偶数。首先要按照顺序读取a[]中这20个数字,然后进行判断,如果能被2整除那么就放进c[],如果不能被2整除就放入b[]。直到20个数都完成,然后做一个冒泡的排序或者选择排序,再对b[],c[...

用C语言编写一个程序,将一个数组中的元素复制到另一个数组中?

include &lt;stdio.h&gt; int main(){ int i, array1[5], array2[5];printf("请输入第一个数组:");for(i=0; i&lt;5; i++)scanf("%d", &amp;array1[i]);printf("\n第二个数组:");for(i=0; i&lt;5; i++){ array2[i] = array1[i];printf("%d ", array2[i]);} return 0;} ...

C语言如何把一个数组内的某个部分,拷贝至另一个数组(C Primer Plus 10...

为实现将数组中一部分元素拷贝至另一数组的功能,需编写一个函数,该函数接受源数组、目的数组及元素拷贝范围。以下示例展示了如何使用C语言完成此任务。首先,定义拷贝函数。此函数接收三个参数:源数组、目的数组及元素的起始索引和结束索引(不包含结束索引)。函数实现过程如下:c void copyArrayPart(int...

C语言编程:从键盘中输入十个数对一个一维数组赋值,并将其中的奇数存放到...

include&lt;stdio.h&gt; main(){ int a[10],b[10];/*a数组存储输入的十位数,b数组存储奇数*/ int i,j=0;printf("Please Input Ten Numbers:\n");for(i=0;i&lt;10;i++);{ scanf("%d",&amp;a[i]);if(a[i]%2!=0){ b[j]=a[i];j++;} } printf("Output the JiShu:");for(i=0;...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
为什么痒痒一挠就不痒了谢谢! 洛汗洛汗历史 洛汗洛汗历史 为何野牛群不攻击狮子? 金满田复合生物菌剂-叶面肥的使用注意事项有哪些? 为什么痒了挠挠了就不痒拜托了各位 谢谢 为什么人痒的时候挠挠就不痒了呢? 为什么痒痒一挠就不痒了谢谢! 怎么样才可以让华为不自带的软件 大疆D-RTK高精度定位系统在飞行过程中,电台信号断开,飞机会有什么表现... gta5手柄按什么键可以用道具 副词什么时候放在动词前,什么时候放在动词后? 跨境电商小白,应该怎么样入门 副词什么时候放在动词前什么时候放动词后 被动语态中 副词放动词前还是后 1+x财务共享和业财一体化哪个更好考 形容词为什么放动词后? also 放动词have前? 问 在is 后面可以放动词来构成谓语吗 可以放什么词 还有 do 等助动词 后面放什么词 quick 放动词前用什么形式 英语中形容词可以放在动词前面吗? 副词什么时候放在动词前?什么时候放在动词后? 放在动词后面的是副词,放在名词前面的是形容词对不对 副词什么时候放在动词前?什么时候动词后? 副词既可以放动词(形容词)前面也可以放动词(形容词)后面对吗? 放在动词前面的词 请教·!!! 削、洗、晾、放动词造句 胖的时候总是先胖肚子,很是烦恼,有什么运动项目可以瘦肚子? 台电科技t110h-w移动电源能带上飞机吗 台电科技和爱国者移动电源哪个好 c语言 求1到100以内的偶数之和 求C语言程序: 如果输入10个任意的数据,求其中的奇数和. C语言随机产生10个两位正整数分别统计其中偶数和奇数个数,以及各类数据之和 翻译和解答 c语言,输入自然数,奇数从大到小排序,偶数从小到大,输出。 设ABC为三个事件已知P(A)=P(B)=P(C)=1&#47;4又P(AB)=0 P(AC)=P(BC)=1&#47;6求A,B,C均不发生的概率 同样的制作班底,《步步惊心》成经典,为何《梦回大清》反被嘲? 梦回大清女主假死和男主再见是哪一集 梦回大清里女主喜欢哪个阿哥 《梦回大清》的主角是谁? 梦回大清电视版的女主角是谁演的? 金子的梦回大清的女主叫什么?主线讲的是和哪个阿哥的故事? 迪奥,纪梵希,阿玛尼,圣罗兰那个口红好啊,21岁,推荐一下 梦回大清女主角叫什么? 梦回大清女主到底爱的是谁好矛盾请求分析 风吹来钞票打一字谜 猜字谜,风吹钞票满天飞是什么字 求谜底是“钱”的字谜 求一个字谜,谜底是“钱” 什么谜面谜底是钱
  • 焦点

最新推荐

猜你喜欢

热门推荐