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

2019-09-01 15:20

cerr<<\无法打开数据文件in.txt。需要核查!\ return ; }

fstream myfile;

myfile.open(\ if(!myfile.is_open()) {

cerr<<\无法打开数据文件out.txt。需要核查!\ return ; }

for(int i=0; i<4; i++) {

char str[50]; inFile>>str; changeString(str); myfile<

inFile.close(); myfile.close(); }

答案:void changeString(char str[]) { }

第27题 (10.0分) 题号:690

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

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

题目:编写一个函数,实现对一维数组的二分(折半) 查找算法。如找到,则返回其数组下标,否则返回-1。

for(int i=0; str[i] != '\\0'; i++) { }

if(str[i]>='a' && str[i]<='z')

str[i] -= 32; str[i] += 32;

else if(str[i]>='A' && str[i]<='Z')

二分查找的思想是:要查找的数据保存在数组中,并且 数据已经排好序(如从小到大递增)。查找时,每次比较 数组中间(用数组下标判断)那个数据,如果相等,则找到; 如果小于它,则在数组左半边按照相同的方式查找;如果大于它, 则在数组右半边按相同方式查找。

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

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

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

#include #include #define SIZE 400

using namespace std;

int binary_search (int sorted_array[], int first, int last, int key) {

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

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

int main () {

int arr[SIZE];

ifstream input;

input.open(\

for(int index = 0; index < SIZE; index++) input >> arr[index];

input.close();

ofstream output;

output.open(\

output << binary_search(arr, 0, SIZE - 1, 16663) << endl; output << binary_search(arr, 0, SIZE - 1, 15555) << endl;

output.close();

cout <<\ cin.ignore(cin.rdbuf()->in_avail() + 1);

return 0; }

答案:int mid; while(true) { }

第28题 (10.0分) 题号:665

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

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

题目:编写一个函数:将一个N进制数转换成M进制数(N和M在2到10进制之间), N进制数和M进制数均以字符串方式存储。

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

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

mid = (first+last)/2;

if (key == sorted_array[mid])

return mid; if(last < first)

return -1;

if (key < sorted_array[mid]) // search the left half

last = mid - 1; first = mid + 1;

else // search the right half

写的若干语句。

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

#include #include using namespace std;

//将一个长度为len的N进制的数字字符串str转换M进制, //转换后的M进制数存放在str中,其长度作为返回值返回。 int trans(char str[], int len, int N, int M) {

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

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

int wwjt(); void main(void) {

char str[20]=\ int N=2, M=10; int len=17, count;

count = trans(str, len, N, M); for (int i=0; i

//忽略阅读 wwjt();

//忽略阅读结束 }

//以下忽略阅读 int wwjt() {

fstream infile, outfile; char str[200]; int N, M; int len, count;

infile.open(\ if (!infile) return -1; infile >> str >> N >> M; infile.close();

len = 0;

while (str[len]!='\\0') len++;

if (len!=0){

count = trans(str, len, N, M); outfile.open(\ for (int i=0; i

return 0; }

第29题 (10.0分) 题号:214

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

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

题目:完成函数sofd,该函数计算一个数的各位数字之和 并返回,如sofd(252)返回9。

说明:sofd函数编写时只需考虑n大于等于0的情况,不用 处理负整数的情况。


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

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

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

马上注册会员

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