自己编写的参考答案,在VS2019中都可以编译通过,不是标准答案,也不是最优答案,仅供参考
1.编写一个程序,读取键盘输入,知道遇到@符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大写(别忘了cctype函数系列)。
#include <iostream>
using namespace std;
int main()
{
char a;
a = cin.get();
while (a != '@')
{
if (!isdigit(a))
{
if(islower(a))
{
a = toupper(a);
}
else if (isupper(a))
{
a = tolower(a);
}
cout << a;
}
a = cin.get();
}
}
2.编写一个程序,最多将10个donation值读入到一个double数组中(如果你愿意,也可以使用模板array)。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。
#include <iostream>
#include<array>
using namespace std;
const int number = 10;
int main()
{
double donation;
array<double, number>a;
int j = 0;
for (int i = 0; i < number; i++)
{
if (cin>> donation)
{
a[i] = donation;
++j;
}
else
{
break;
}
}
double sum=0;
for (int i = 0; i < j; i++)
{
sum += a[i];
}
double average = sum / j;
int k=0;
for (int i = 0; i < j; i++)
{
if (a[i]>average)
{
++k;
}
}
cout << "平均数为:" << average << ",有" << k << "个大于平均数的值。";
}
3.编写一个菜单驱动程序的雏形。该程序显示一个提供4个选项的菜单——每一个选项用一个字母标记。如果用户使用有效选项之外的字母进行响应,程序将提示用户输入一个有效的字母,直到用户这样做为止。然后,该程序使用一条switch语句,根据用户的选择执行一个简单操作。该程序的运行情况如下:
Please enter one of following choices:
c) carnivore p) pianist
t) tree g) game
Please enter a c, p, t or g: q
Please enter a c, p, t or g: t
A maple is a tree.
#include <iostream>
using namespace std;
int main()
{
char choice;
cout<<"Please enter one of following choices:\n"
"c) carnivore p) pianist\n"
"t) tree g) game\n";
cout << "Please enter a c, p, t or g: ";
cin >> choice;
while (choice != 'c' && choice != 'p' && choice != 't' && choice != 'g')
{
cout << "Please enter a c, p, t or g: ";
cin >> choice;
}
switch (choice)
{
case 'c':
cout << "A maple is a carnivore\n";
break;
case 'p':
cout << "A maple is a pianist\n";
break;
case 't':
cout << "A maple is a tree\n";
break;
case 'g':
cout << "A maple is a game\n";
break;
}
}