PTA 乙级 1057 数零壹 (20分) C++
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PTA 乙级 1057 数零壹 (20分) C++,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含991字,纯文字阅读大概需要2分钟。
内容图文
思路:getline获取一行字符串,之后利用字母范围,字母 - ‘a’('A') + 1,得到字母序号,求和,对求和结果用除二取余的方法对0和1计数
测试点0,4 :用string定义的要小心,输入的数据(测试点0和4)里有带空格的,所以这种情况下就不能只是单纯的用cin输入了(输入空格,Tab,回车则结束输入),而要用getline(cin,string变量名)。
测试点2:不能用do-while循环数0和1,只能用while(如果sum = 0,则会多数0的个数)
1 #include<iostream> 2 3 using namespace std; 4 5 int main() { 6 string s; 7 int sum = 0; 8 int one = 0, zero = 0; 9 getline(cin, s); 10 for (int i = 0; i < s.size(); ++i) { 11 if (s[i] <= 'z' && s[i] >= 'a') { //A~Z a~z两种情况 12 sum += s[i] - 'a' + 1; 13 } 14 else if (s[i] <= 'Z' && s[i] >= 'A') { 15 sum += s[i] - 'A' + 1; 16 } 17 } 18 while (sum > 0) { 19 if (sum % 2 == 0) one++; 20 else zero++; 21 sum /= 2; 22 } 23 cout << one << ' ' << zero; 24 return 0; 25 }
内容总结
以上是互联网集市为您收集整理的PTA 乙级 1057 数零壹 (20分) C++全部内容,希望文章能够帮你解决PTA 乙级 1057 数零壹 (20分) C++所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。