菜鸟学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();
} 爱吾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: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);/*偶数之和*/
}这个为什么不行啊? 坚持坚持坚持啊 继续坚持,加油{:1_921:}{:1_921:}{:1_921:} 貌似没有验证是否为0不为0的问题吧? wang65424773 发表于 2017-11-14 17:11
貌似没有验证是否为0不为0的问题吧?
验证了,兄弟 定义全局变量呀?!~ 日复一日,水滴石穿,坚持就是胜利 追梦少年_66 发表于 2017-11-14 17:15
兄弟,你int odd,even,i,n; 又 int i=2,odd=0,even=0;定义了两次重定义了
谢谢大佬,没看出来