C语言代码:社团比赛周年大回馈 - 统计0和1的个数

社团课马上就要结束了,迎来最后一次社团比赛!作为学长,希望大家都能取得好成绩,所以偷偷地来了一题周年大回馈!

想要获得这份大回馈,你需要完成一个小挑战:给定一个包含0和1的字符串,你需要计算出其中0的个数和1的个数,如果0的个数和1的个数相乘为偶数,你就输出'yes',否则输出'no'。

是不是很简单?为了更简单,字符串长度不会超过1000。加油做其他题目吧,奖励丰富哦!

输入格式:

需多组输入,输入一个长度不超过1000的01字符串

输出格式:

如果0的个数和1的个数相乘为偶数你就输出'yes',否则你就输出'no'。

输入样例:

10

输出样例:

no

C语言代码实现:

#include <stdio.h>
#include <string.h>

int main() {
    char str[1001];
    
    while (scanf('%s', str) != EOF) {
        int count0 = 0, count1 = 0;
        
        // 统计0和1的个数
        for (int i = 0; i < strlen(str); i++) {
            if (str[i] == '0') {
                count0++;
            } else if (str[i] == '1') {
                count1++;
            }
        }
        
        // 判断0和1的个数相乘是否为偶数
        if ((count0 * count1) % 2 == 0) {
            printf('yes\n');
        } else {
            printf('no\n');
        }
    }
    
    return 0;
}

代码解释:

  1. 头文件包含: 代码首先包含了 stdio.hstring.h 头文件,分别用于标准输入输出和字符串操作。
  2. 字符串输入: 使用 scanf 函数读取输入的字符串,并存储在 str 数组中。
  3. 计数器初始化: 定义两个变量 count0count1,用于记录字符串中 0 和 1 的个数,初始值设置为 0。
  4. 统计0和1的个数: 使用循环遍历字符串中的每个字符,如果字符为 '0',则 count0 加 1;如果字符为 '1',则 count1 加 1。
  5. 判断乘积奇偶性: 计算 count0count1 的乘积,并使用模运算 % 判断其是否为偶数。如果乘积是偶数,则输出 'yes',否则输出 'no'。
  6. 循环处理多组输入: 使用 while 循环读取多组输入,直到遇到文件结束符 (EOF)。

注意: 示例代码中假设输入的字符串只包含有效的字符 '0' 和 '1',且字符串长度不超过 1000。您可以根据实际情况进行调整。

祝您比赛顺利,取得好成绩!

C语言代码:社团比赛周年大回馈 - 统计0和1的个数

原文地址: https://www.cveoy.top/t/topic/bTBp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录