判断输入的数字是偶数还是奇数,并分别记录奇数和偶数的个数,并把奇数和偶数分别相加;

/*

1、做一个循环,对每次输入的数字进行判断

2、偶数则数量加1,偶数之和加上这个数;

3、奇数则数量加1,奇数之和加上这个数;

*/

#include <stdio.h>
int main()
{
    int n;
    printf("请输入数字的个数\n");
    scanf ("%d",&n);
    int m,sum_odd,sum_even,num_odd,num_even;
    sum_even= 0;
    sum_odd = 0;
    num_even = 0;
    num_odd = 0;
    for (int i = 0; i < n;i++)
    {
         printf("请输入数字%d\n",i+1);
         scanf("%d",&m);
         if(m%2 != 0)
         {
            sum_odd =sum_odd+m;
            num_odd++;
         }
         else if(m%2 == 0)
         {
            sum_even = sum_even + m;
            num_even++;
         }

    }
    printf("有%d个奇数,奇数的和为%d\n",num_odd,sum_odd);
    printf("有%d个偶数,偶数的和为%d\n",num_even,sum_even);
}

好的,这是一个关于字符串操作的问题。下面是实现这个函数的代码: ```c #include <stdio.h> int stradd(char s[]) { int odd_num = 0, even_num = 0; // 奇数数字字符偶数数字字符分别对应的整数 int odd_count = 0, even_count = 0; // 奇数数字字符偶数数字字符的个数 int i = 0; while (s[i] != '\0') { if (s[i] >= '0' && s[i] <= '9') { int num = s[i] - '0'; if (num % 2 == 0) { // 偶数数字字符 even_num = even_num * 10 + num; even_count++; } else { // 奇数数字字符 odd_num = odd_num * 10 + num; odd_count++; } } i++; } // 如果奇数偶数数字字符不足5个,则全部取出转换为整数相加 while (odd_count < 5 && odd_num > 0) { odd_num *= 10; odd_count++; } while (even_count < 5 && even_num > 0) { even_num *= 10; even_count++; } // 计算两个数 return odd_num + even_num; } int main() { char s[] = "a1b2c3d4e5f6g7h8i9j0"; int sum = stradd(s); printf("The sum is %d\n", sum); // 输出结果为 13579 + 24680 = 38259 return 0; } ``` 这个函数的具体实现过程如下: 1. 定义两个整数变量 odd_num even_num,分别用来存储奇数数字字符偶数数字字符所对应的整数。 2. 定义两个计数器 odd_count even_count,分别用来记录奇数数字字符偶数数字字符的个数。 3. 遍历字符串 s,如果当前字符是数字字符,则将其转换为整数判断其奇偶性,然后分别累加到 odd_num even_num 中,增加对应的计数器 odd_count even_count。 4. 如果奇数偶数数字字符不足5个,则将已有的数字字符全部取出转换为整数相加,直到个数5个或者已经没有数字字符了。 5. 计算 odd_num even_num 的,返回结果。 在上面的例子中,字符串 s 中有5奇数数字字符5偶数数字字符,所以按照我们的算法,odd_num even_num 分别为 13579 24680,它们的为 38259,所以函数返回值为 38259。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-十分-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值