C++题库答案
int main() {
float a[6] = {39, -47, 21, 2, -8, 15}, aver; int n = 0, j;
aver = 0;
for (j = 0; j < 6; j++) {
if (a[j] > 0) {
n++;
aver += a[j]; } }
aver /= n;
cout << \ << aver << endl; return 0; }
Q42.(10分)以下程序的功能是以每行5个数来输出300以内能被7或17整
除的偶数,并求出其和。 输入格式:无
输出格式:每个数据以一个空格隔开,5个一行 和另起一行输出
cout << \#include
int i, n, sum; sum = 0; n = 0;
for (i = 1; i < 300; i++)
if (i % 7 == 0 || i % 17 == 0) if (i % 2 == 0) {
sum = sum + i; n++;
cout << i << ' ';
if (n % 5 == 0) cout << endl; }
cout << endl;
cout << \ << sum << endl; return 0;
- 26 -
C++题库答案
}
Q43.(10分)判断输入的测试数据是奇数还是偶数。
输入提示信息格式要求:cout<<\输出提示信息格式要求:cout<<\ cout<<\#include
int test, k;
cout << \; cin >> test; k = test % 2; if (k == 0)
cout << \ << endl; //偶数 if (k!= 0)
cout << \ << endl; //奇数 return 0; }
Q44.(10分)对给定的10个数按逆序排列,必须用循环完成。设: int n[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 输入格式要求:无
输出结果:10,9,8,7,6,5,4,3,2,1, #include
int n[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, i, t; for (i = 0; i < 5; i++) {
t = n[i];
n[i] = n[9 - i]; n[9 - i] = t; }
for (i = 0; i < 10; i++) cout << n[i] << \; return 0; }
- 27 -
C++题库答案
Q45.(10分)输入4个整数a,b,c,d,将它们从小到大输出。
要点分析:可通过比较和交换将最小数交换存储到变量a,再依次确定b,c,d的值。
输入提示信息格式要求:cout<<\请出入4个整数:\
输出提示信息格式要求:cout<<\从小到大输出4个整数:\ 结果以\隔开 #include
int a, b, c, d, t; cout << \请出入4个整数:\; cin >> a >> b >> c >> d; if (a > b) {
t = a; a = b; b = t; }
if (a > c) {
t = a; a = c; c = t; }
if (a > d) {
t = a; a = d; d = t; }
if (b > c) {
t = b; b = c; c = t; }
if (b > d) {
t = b;
- 28 -
C++题库答案
b = d; d = t; }
if (c > d) {
t = c; c = d; d = t; }
cout << \从小到大输出4个整数:\ << endl;
cout << a << \ << b << \ << c << \ << d << endl; return 0; }
Q46.(10分)以下程序的功能是用公式π/4=1-1/3+1/5-1/7+......求π的
近似值。要求直到最后一项的绝对值小于1e-6为止。
输出提示信息格式控制: cout << \#include
using namespace std; int main() {
double t,pi,a,b; pi=0; a=1; b=1; t=a/b;
while(fabs(t)>=1e-6) {
pi=pi+t; a=-a; b=b+2; t=a/b; }
pi=pi*4;
cout << \ << pi << endl; return 0; }
Q47.(10分)求具有10个数的数组中的最大值和次最大值。
设:int a[10] = {39, -47, 21, 2, -8, 15, 98, -3, 87, 56};
- 29 -
C++题库答案
输入格式要求:无
输出提示信息:\最大值:\ \次最大值:\ \ \输出结果:最大值:98 次最大值:87 a[0]=98 a[1]=87
#include
int a[10] = {39, -47, 21, 2, -8, 15, 98, -3, 87, 56}, max, cmax, jn;
max = a[0]; m = 0;
for (i = 1; i < 10; i++) if (a[i] > max) {
max = a[i]; m = i; }
t = a[0]; a[0] = a[m]; a[m] = t; cmax = a[1]; n = 1;
for (j = 2; j < 10; j++) if (a[j] > cmax) {
cmax = a[j]; n = j; }
l = a[1]; a[1] = a[n]; a[n] = l;
cout << \最大值:\ << max << endl; cout << \次最大值:\ << cmax << endl; cout << \ << a[0] << endl; cout << \ << a[1] << endl; return 0;
- 30 -