牛客网-编程语言初学练习赛(第四场)题解

本文深入探讨了D进制下A+B的实现方式,使用%x和%o格式化输出十六进制和八进制结果。同时,解析了竞选社长问题的算法,通过计数字符'A'和'B'出现次数决定胜者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://ac.nowcoder.com/acm/contest/312#question

 

只说可说的

 

D进制A+B

十六进制用%x,八进制用%o

 

J竞选社长

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <math.h>
#include <algorithm>
#define PI  3.1415926
using namespace std;


int main() {
	int ch;
	int sum_a = 0, sum_b = 0;       // 分别用来计数A和B的数量
	// getchar()返回值是int类型,EOF是-1,代表文件结束
	// 这样写实现了一个字符一个字符的输入字符串,执行到文件结束,换行时停止输入
	while ((ch = getchar()) != EOF && ch != '\n') {
		if (ch == 'O') break;
		else if (ch == 'A') sum_a++;
		else if (ch == 'B') sum_b++;
	}
	if (sum_a == sum_b) cout << "E" << endl;  // 如果A的数量等于B的数量,输出E
	else printf("%s\n", sum_a > sum_b ? "A" : "B"); // 条件运算符,如果A的数量大于B的数量,输出A,否则输出B
	return 0;
}

 

2018.12.27  16:09  寝室

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值