C语言代码:社团比赛周年大回馈 - 统计0和1的个数
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;
}
代码解释:
- 头文件包含: 代码首先包含了
stdio.h和string.h头文件,分别用于标准输入输出和字符串操作。 - 字符串输入: 使用
scanf函数读取输入的字符串,并存储在str数组中。 - 计数器初始化: 定义两个变量
count0和count1,用于记录字符串中 0 和 1 的个数,初始值设置为 0。 - 统计0和1的个数: 使用循环遍历字符串中的每个字符,如果字符为 '0',则
count0加 1;如果字符为 '1',则count1加 1。 - 判断乘积奇偶性: 计算
count0和count1的乘积,并使用模运算%判断其是否为偶数。如果乘积是偶数,则输出 'yes',否则输出 'no'。 - 循环处理多组输入: 使用
while循环读取多组输入,直到遇到文件结束符 (EOF)。
注意: 示例代码中假设输入的字符串只包含有效的字符 '0' 和 '1',且字符串长度不超过 1000。您可以根据实际情况进行调整。
祝您比赛顺利,取得好成绩!
原文地址: https://www.cveoy.top/t/topic/bTBp 著作权归作者所有。请勿转载和采集!