试卷编号: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;
}
/******** End
********/
int main()
{
int i=0;
char cp[30];
cout<<"请输入包含小写字母的句子:"<='a'&&ch<='z')
return ch-'a'+'A';
else return ch;
第 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();
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("in.dat",ios::in);
myF.read((char *)a, sizeof(int)*2*3);
myF.close();
myF.open("out.dat",ios::out);
myF << mySum(a, 2, 3);
myF.close();
}
答案:int i, j, s=0;
for (i=0; i
#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)
{
}
k/=10;
i*=10;
if(j%i==m)
n++;
/**********
End
**********/
}
writeinfile(n);
}
void writeinfile(int n)
{
}
fstream myfile;
myfile.open("f.txt",ios::out);
myfile<
题目:补充函数 aver 的代码,该函数计算 n 个学生成绩(通
过参数 cj 传入)的平均分数。
--------------------------------------------------
注意:部分源程序给出如下。仅在标有"Program"和"End"
的注释行之间补充代码,请勿改动其它内容。
------------------------------------------------*/
#include
#include
using namespace std;
void grading();
float aver(int cj[],int n)
{
/**********Program**********/
/**********
End
**********/
}
int main()
{
}
grading();
return 0;
void grading()
{
fstream infile,myfile;
int b[50];
int i;
infile.open("in.txt",ios::in);
myfile.open("out.txt",ios::out);
for(i=0;i<50;i++)
infile>>b[i];
myfile<<(int)aver(b,50)<