本文主要是介绍C++ primer plus习题集及解析第六章(分支语句和逻辑运算符),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:6.1
编写一个程序,读取键盘输入,直到遇到
@
符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大 写(别忘了cctype
函数系列)。
代码:
void Func()
{string ch;string ans="";cout << "请输入字符(@符号为止):";cin >> ch;for (int i = 0; i < ch.size(); i++){//将数字除去if (ch.at(i) == '@'){break;}if (isalpha(ch.at(i)) != 0){ans += ch.at(i);}}//显示输入cout << ans << endl;//转换大小写for (int i = 0; i < ans.size(); i++){if (islower(ans.at(i))){ans.at(i) = toupper(ans.at(i));}else {ans.at(i) = tolower(ans.at(i));}}cout << ans << endl;}
题目:6.2
编写一个程序,最多将10个
donation
值读入到一个double
数组中(如果您愿意,也可使用模板类array
)。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。
代码:
void Func(void)
{array<double, 10> donation;unsigned int enter = 0;double total = 0;double avg = 0;unsigned int large_avg = 0;cout << "请输入有效数字,非数字退出:" << endl;while (enter < 10 && (cin >> donation[enter])){total += donation[enter];enter++;}avg = total / enter;for (unsigned int i = 0; i < enter; i++){if (donation[i] > avg){large_avg++;}}cout << "平均值为:" << avg << ", 超过平均值的个数为: " << large_avg << endl;
}
这篇关于C++ primer plus习题集及解析第六章(分支语句和逻辑运算符)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!