注册 登录
编程论坛 C语言论坛

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

吴佳俊 发布于 2020-04-19 17:13, 5806 次点击
编写程序,把数组中所有奇数放在另一个数组中并输出。
请个位大佬帮忙
不要用高级语言,大一的水平即可
12 回复
#2
纯蓝之刃2020-04-19 19:43
程序代码:
#include <stdio.h>

int main()
{
    int a[]={1,2,3,4,5,6,7,8,9,10},b[10]={0};
    int i,j=0;
    for(i=0;i<sizeof(a)/sizeof(int);i++)
        if(a[i]%2)
            b[j++]=a[i];
    return 0;
}
#3
吴佳俊2020-04-19 21:17
回复 2楼 纯蓝之刃
大佬,你的程序能不能改一下,
1,第一个数组的数,是自己后来输入的
2,for()里面的太高级了,正常大一不会,改低级一点
麻烦大佬了
#4
吕孟伟2020-04-19 21:54
程序代码:
#include<stdio.h>
#define N 10
int main(void)
{
    int a[N] = {0};
    int b[N] = {0};
    for (size_t i = 0; i < N; ++i){
        scanf("%d", &a[i]);
    }
    for(size_t i = 0, j = 0; i < N; ++i){
        if(a[i]%2){
            b[j++] = a[i];
        }
    }
    for(size_t i = 0; i < N; ++i){
        printf("%d\t", b[i]);
    }
    printf("\n");
    return 0;
}
#5
吴佳俊2020-04-20 10:30
回复 4楼 吕孟伟
#define N 10 是什么作用,可以改简单吗?
#6
lin51616782020-04-20 10:46
以下是引用吴佳俊在2020-4-19 21:17:02的发言:

大佬,你的程序能不能改一下,
1,第一个数组的数,是自己后来输入的
2,for()里面的太高级了,正常大一不会,改低级一点
麻烦大佬了

过分了啊
自己改
#7
吴佳俊2020-04-20 13:49
不行,不行,都有问题
#8
吕孟伟2020-04-20 14:52
回复 5楼 吴佳俊
#define N 10:#define宏定义一个常量,便于修改数组元素数量
#9
吕孟伟2020-04-20 14:54
回复 7楼 吴佳俊
什么叫“不行,不行,都有问题”?光有结论,没有论点?
#10
专业课的小白2020-04-20 15:17
回复 5楼 吴佳俊
#define N 10 答主应该是害怕自己的数组长度不够,你可以自己任意的修改数值。
a[i]%2 是求余的意思,结果为0或1,来判断真假。
#11
吴佳俊2020-04-20 16:02
回复 8楼 吕孟伟
2楼的可以运行,但没有结果,无法达到目的

然后,大佬的,有2处错误,无法运行
#12
吕孟伟2020-04-20 16:38
回复 11楼 吴佳俊
对啊,你有问题说出来,我改代码就行了呀。
2楼的代码你需要写个for循环把奇数数组给输出。
我的代码可以输出。
D:\VScode>test1
1 2 3 4 5 6 7 8 9 10
1       3       5       7       9       0       0       0       0       0
你这边有错误可能是因为size_t,你改成int试试。
#13
编程打脑壳2020-04-20 19:16
请问你们用的是什么软件编写程序
1