C++程序设计题库(182道含答案)

2019-09-01 15:20

试卷编号:8172 所属语言:C++

试卷方案:题库182道设计题 试卷总分:1820分 共有题型:1种

一、程序设计 共182题 (共计1820分) 第1题 (10.0分) 题号:664

/*------------------------------------------------------- 【程序设计】

---------------------------------------------------------

题目:已知有结构体类型定义: struct node

{ int data;

struct node *nextPtr; };

请编写函数void computingList(node * head),对head 指向的单向链表,分别统计结点的data成员值为负数、0、 正数的结点个数分别存入变量negtive、zero、positive中。

-------------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数main和其它函数中 的任何内容,仅在函数的花括号中填入所编写的若干语句。

-------------------------------------------------------*/

#include #include using namespace std; void grading(int,int,int);

struct node {

int data;

struct node *nextPtr; };

void computingList(node * head) {

int positive=0,negtive=0,zero=0;

/**********Program**********/

/********** End **********/ //忽略阅读

grading(positive,zero,negtive); //忽略阅读结束 }

struct node *createList(void) {

node *head=NULL, *p1, *p2; int i;

int a[10] = {-1,3,4,0,9,4,11,-6,2,-10}; head=p2=p1= new node; p1->data = a[0]; for (i=1; i<10; i++) {

p1= new node; p1->data = a[i]; p2->nextPtr=p1; p2=p1; }

p2->nextPtr=NULL; return (head); }

int main() {

struct node *head; head = createList(); computingList(head); return 0; }

//以下忽略阅读

void grading(int a,int b,int c) {

fstream myfile;

myfile.open(\ myfile<

答案: struct node *p;

第3题 (10.0分) 题号:672

/*------------------------------------------------ 【程序设计】

--------------------------------------------------

题目:函数mySum(int a[ ][ ], int m, int n)返回二维 整数数组a中所有元素的和,m、n分别为数组a的行 数、列数。填写适当的代码,使得mySum()完成正确 的功能。

-------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。

------------------------------------------------*/

#include #include using namespace std;

int mySum(int a[2][3], int m, int n); void gfkd();

p=head; while(p!=NULL) { }

if(p->data > 0)

positive++; negtive++; zero++;

else if (p->data < 0) else if (p->data == 0) p=p->nextPtr;

void main()

{ int a[2][3]={{1,2,3}, {4,5,6}};

cout << mySum(a, 2, 3) << endl;

// -------- main()函数此后部分可以不阅读 ----------- gfkd(); }

int mySum(int a[2][3], int m, int n) {

/*************** Program *****************/

/*************** End *****************/ }

void gfkd()

{ fstream myF; int a[2][3];

myF.open(\ myF.read((char *)a, sizeof(int)*2*3); myF.close();

myF.open(\ myF << mySum(a, 2, 3); myF.close(); }

答案:int i, j, s=0;

第4题 (10.0分) 题号:588

/*------------------------------------------------

return s;

for (i=0; i

for (j=0; j

s = s + a[i][j];

【程序设计】

--------------------------------------------------

题目: 求1-1000之间同构数的个数n。同构数是: \某数与其自身的平方数的后几位相同\。 例如:25×25=625,25是同构数。

-------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。

------------------------------------------------*/ #include #include using namespace std; void writeinfile(int n);

void main() {

int m,k,j,n=0; for(m=1;m<=1000;m++) {

/**********Program**********/ int i=1;

k=m; j=m*m; while(k!=0) { }

if(j%i==m)

n++; k/=10; i*=10;

/********** End **********/ }

writeinfile(n); }

void writeinfile(int n) {

fstream myfile;

myfile.open(\ myfile<


C++程序设计题库(182道含答案).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:五年级解决问题练习题

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

马上注册会员

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