题解 | #小乐乐改数字#

小乐乐改数字

https://www.nowcoder.com/practice/fcd30aac9c4f4028b23919a0c649824d

#include<iostream>
#include<string>

int main(int argc, char* argv[])
{
  //将整型变为字符串则可以利用基于范围的for循环对其每个字符进行修改
	unsigned int number{};
	std::cin >> number;
	std::string str = std::to_string(number);//转化为字符串
  //基于范围的for循环,便于遍历整个string容器,
  //但注意,其中的arr是创建的副本,要使得其能修改原始数据,需将其声明为引用同时减少副本空间占用
	for (char& arr : str) {  
		unsigned short test = arr - '0';  //变为数字进行判定
		if (test % 2 == 0) {
			arr = '0';
		}
		else {
			arr = '1';
		}
	}
	number = std::stoi(str);  //再次转换为整型,则能输出正确的数字结果
	std::cout << number;
}

全部评论

相关推荐

程序员猪皮:看不到八股什么意思
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务