#include
int main() {
int num1, num2;
int o = 0;
int p = 0;
int arg[10] = {};
int arg1[10] = {};
int arg2[10] = {};
scanf("%d %d %d %d %d %d %d %d %d %d", &arg[0], &arg[1], &arg[2], &arg[3], &arg[4], &arg[5], &arg[6], &arg[7], &arg[8], &arg[9]);
while ((o < 10)&&(arg[o] % 2 == 1)) {
arg1[o] = arg[o];//将arg中的奇数赋给arg1
o++;
}
while ((p < 10 )&& (arg[p] % 2 != 1)) {
arg2[p] = arg[p];//将arg中的偶数赋给arg2
p++;
}
num1 = arg1[0]+ arg1[1] + arg1[2] + arg1[3] + arg1[4] + arg1[5] + arg1[6] + arg1[7] + arg1[8] + arg1[9] ;
num2 = arg2[0] + arg2[1] + arg2[2] + arg2[3] + arg2[4] + arg2[5] + arg2[6] + arg2[7] + arg2[8] + arg2[9];
printf("奇数为%d\n", num1);
printf("偶数为%d", num2);
}
为啥不行啊
你这arg1 arg2的,不写循环,不累么
#include <stdio.h>
int main()
{
int sum0, sum1;
int x;
sum0 = sum1 = 0;
for(int i = 0; i < 10; i++)
{
scanf("%d", &x);
if (x % 2 == 0) sum2 += x; else sum1 += x;
}
printf("奇 %d, 偶 %d", sum1, sum2);
return 0;
}
首先代码太啰嗦,用循环更好。
其次就你代码自身来说,while循环有问题,比如第二个偶数循环,当arg[p] = 1时,不满足余数不为1,这是while就结束了啊!!!而你本来的目的应该是遍历所有数组元素啊。
随便输入一个整数(不管数是正还是负)则输出它的个元素之和?
答:这就很简单了,在函数前面加一个if()判定n是否大于0.就是把上面的两个代码加在一起。