大学最新C++题库及答案(3)

2018-11-26 22:42

C++题库答案

day = 30; break; case 2:

if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) day = 29; else

day = 28; break; }

cout << year << \年\ << month << \月\ << \是\ << day << \天。\ << en return 0; }

Q21.(10分)

编写程序,求解下面的分段函数:

输入格式要求: cout << \请输入x:\; 输出格式要求: cout << \<< y << endl;

#include using namespace std; int main() {

double x,y; cout<<\请输入x:\; cin>>x;

if(x>-10&&x<0) y=x-8; if(x==0) y=x;

if(x>0&&x<10) y=x*x; cout<<\<

- 11 -

C++题库答案

Q22.(10分)用“辗转相除方法”计算两个数 x,y 的最大公约数。

输入格式要求:无,直接输入

输出格式要求:无,直接输出结果 #include using namespace std; int main() {

int x, y, n; cin >> x >> y; n = x % y;

while (n != 0) {

x = y; y = n;

n = x % y; }

cout << y << endl; return 0; }

Q23.(10分)利用选择法将下面10个数按降序排列。

有如下定义:int n[10] = {5, 6, 4, 2, 3, 7, 8, 5, 6, 7};输入格式要求:无

输出格式要求:以逗号分隔降序数列 #include using namespace std; int main() {

int n[10] = {5, 6, 4, 2, 3, 7, 8, 5, 6, 7}, i, j, k, t; for (i = 0; i < 9; i++) {

k = i;

for (j = i + 1; j < 10; j++) if (n[k] < n[j]) k = j; t = n[i]; n[i] = n[k]; n[k] = t; }

for (j = 0; j < 10; j++) cout << n[j] << \;

- 12 -

C++题库答案

return 0; }

Q24.(10分)定义数组,输入不多于20名若干学生成绩,统计高于平均分的

人数k,用-1做结束标志。 输入格式要求:无

输出格式要求:cout << \高于平均分的人数:\#include using namespace std; int main() {

double cj[20], aver, sum = 0; int n = 0, k = 0, i; cin >> cj[0];

while (cj[n] >= 0) {

sum += cj[n]; n++;

cin >> cj[n]; }

aver = sum /( n-1);

for (i = 0; i < n-1; i++) if (cj[i] > aver) k++;

cout << \高于平均分的人数:\ << k << endl; return 0; }

Q25.(10分)已知三个数a,b,c,按由小到大的顺序存入a,b,c中并输出.

输入格式要求:cout << \输入三个整数:\输出格式要求:cout << \由小到大的顺序是:\<< a << \<< b << \#include using namespace std; int main() {

int a, b, c, t;

cout << \输入三个整数:\; cin >> a >> b >> c; if (a > b) {

t = a;

- 13 -

C++题库答案

a = b; b = t; }

if (a > c) {

t = a; a = c; c = t; }

if (b > c) {

t = b; b = c; c = t; }

cout << \由小到大的顺序是:\ << a << \ << b << \<

Q26.(10分)编程计算 sum=1!+2!+...+9!。

输入格式要求: 无

输出格式要求: cout <<\#include using namespace std; int main() {

int sum=0;

for (int i=1; i<=9; i++) {

int x=1;

for (int j=1;j<=i;j++) x=x*j; sum=sum+x; }

cout <<\ << sum << endl; return 0; }

Q27.(10分)编写函数,删除字符串中的指定字符,函数原型为:

void deletechar(char *string, char ch); 设char c[100] = \输出结果:bcdbcd bbccdd #include

- 14 -

C++题库答案

#include using namespace std;

void deletechar(char *string, char ch) {

int i(0), k(0);

while (string[i++] != '\\0') if (string[i] != ch)

string[k++] = string[i]; string[k] = '\\0'; }

int main () {

char c[100] = \; deletechar(c, 'a'); cout << c << endl; return 0; }

Q28.(10分)编写函数,将一个十进制无符号整数转换为二进制整数,函数

原型为:

void transform(char*p,long i,int base=2); #include using namespace std;

void transform(char*p, long i, int base = 2) {

int r(0), k(0); char t[128]; while (i > 0) {

r = i % base; if (r < 10)

t[k] = r + 48; else

t[k] = r + 55; i = i / base; k++; } k--; r = 0;

while (k >= 0) {

*(p + r) = t[k]; r++; k--;

- 15 -


大学最新C++题库及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新视界大学英语视听说教程第一册听力原文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: