追梦少年_66 发表于 2017-11-14 15:56

菜鸟学C之第四题

每天搞两道题,加油!
/*******************************************/
/*4.编一个程序,把一批非零整数中的偶数、奇数的平均值分别计算出来。用零作为终止标记。
/*******************************************/

#include<stdio.h>
#include<stdlib.h>
void main2e() {//方法一

        int arr = { 1,2,3,4,5,6,7,8,9,10,0,5};
        int odd = 0, even = 0, osum = 0, esum = 0;
        int num = -1;
        while (arr[++num]) {

                if (arr % 2 == 0) {
                                        even++;
                                        esum += arr;
                                }
                                else {
                                        odd++;
                                        osum += arr;
                                }
        }
        printf("偶数的平均=%d,奇数的平均=%d",esum/even,osum/odd);
        getchar();
}
//方式二:递归

int odd = 0, even = 0, osum = 0, esum = 0;
voiddigui2(int * arr,int num) {
       
        if (arr) {
        }
        else {
                if (arr % 2 == 0) {
                        even++;
                        esum += arr;
                }
                else {
                        odd++;
                        osum += arr;
                }
                digui2(arr, num+1);
        }
}
void main() {

        int arr = { 1,2,3,4,5,6,7,8,9,10,0,5 };
        digui2(arr, 0);
        printf("偶数的平均=%d,奇数的平均=%d", esum / even, osum / odd);
        getchar();
}

追梦少年_66 发表于 2017-11-14 17:15

爱吾hhs 发表于 2017-11-14 16:31
/**********
【习题5.029】请仅在程序空缺处填入合适内容,使其
实现功能:输入大于1的整数到n,在同一个 ...

兄弟,你int odd,even,i,n;   又 int i=2,odd=0,even=0;定义了两次重定义了

爱吾hhs 发表于 2017-11-14 16:31

本帖最后由 爱吾hhs 于 2017-11-14 16:32 编辑

/**********
【习题5.029】请仅在程序空缺处填入合适内容,使其
实现功能:输入大于1的整数到n,在同一个循环语句中
分别计算1到n之间的奇数和偶数之和。
**********/
#include<stdio.h>
void main()
{int odd,even,i,n;
   scanf("%d", &n);
   int i=2,odd=0,even=0;
   while (i<=n)
   {if(i%2==0)
       even+=i;
    else
       odd+=i;
    i++;
   }

   printf("sum of odd=%d   ",odd);/*奇数之和*/
   printf("sum of even=%d\n", even);/*偶数之和*/
}这个为什么不行啊?

feixizhang 发表于 2017-11-14 16:19

坚持坚持坚持啊

shaolinsi2020 发表于 2017-11-14 16:56

继续坚持,加油{:1_921:}{:1_921:}{:1_921:}

wang65424773 发表于 2017-11-14 17:11

貌似没有验证是否为0不为0的问题吧?

追梦少年_66 发表于 2017-11-14 17:16

wang65424773 发表于 2017-11-14 17:11
貌似没有验证是否为0不为0的问题吧?

验证了,兄弟

wzzycpp 发表于 2017-11-14 17:26

定义全局变量呀?!~

蓝色的眼睛盒 发表于 2017-11-14 17:33

日复一日,水滴石穿,坚持就是胜利

爱吾hhs 发表于 2017-11-14 17:41

追梦少年_66 发表于 2017-11-14 17:15
兄弟,你int odd,even,i,n;   又 int i=2,odd=0,even=0;定义了两次重定义了

谢谢大佬,没看出来
页: [1] 2 3
查看完整版本: 菜鸟学C之第四题