第1章  C++语言简介
1.修改例1-1的Hello World!程序,使其能够在计算机屏幕上显示:I am a student, and I like programming!
2.修改例1-3的加法计算器程序,编写一个乘法计算器程序。
3.修改例1-4的生日卡程序,使其能够输入和显示日期。
4.参考例1-5,使用梯形法计算下式定积分的值。
其中积分区域等分数可取为200,并将计算结果和手算结果相比较。
提示:ex用标准数学函数库cmath中的库函数exp(x)表示。
5.仿照例1-6,编写一个计算矩形面积的程序。
第2章  基本数据类型
1.为例2-2添加数据检验部分。给出三边长,检验其是否能构成一个三角形的方法是检查是否任意两边和均大于第三边。如果检验不合格,输出信息“Error Data!”
2.输入两个角度值x、y,计算如下式子的值。
3.编写一个程序,要求完成以下要求:
1)提示用户输入任意的3个小数;
2)显示这三个小数;
3)将这三个小数相加,并显示其结果;
4)将结果按四舍五入方法转换成整数并显示。
4.从键盘输入任意三个整数,然后输出这三个数并计算其平均值。
5.编写一个程序,将字符串“Love”译成密码,译码方法采用替换加密法,其加密规则是:将原来的字母用字母表中其后面的第3个字母的来替换,如字母c就用f来替换,字母y用b来替换。
提示:分别用4个字符变量来存储'L'、'o'、'v'和'e',利用ASCII表中字母的排列关系,按照译码方法对各个变量进行运算后输出即可。
第3章 控制结构
1.编写计算阶乘 n!的程序。
2.计算1!+2!+3!+4!+......+10!,即
3.编写程序求斐波那契数列的第n项和前n项之和。斐波那契数列是形如
0, 1, 1, 2, 3, 5, 8, 13, ...
其通项为:
F0 = 0;
F1 = 1;
Fn = Fn 1+Fn 2
4.编程求,其中
提示:结束条件可用 ,其中u为通项,ε为预先给定的精度要求。
5.用牛顿迭代法求方程:2x3—4x2十3x一6=0在1.5附近的根。
提示:迭代公式 
结束迭代过程的条件为()与()同时成立,其中ε为预先给定的精度要求。
6.求解猴子吃桃问题。猴子在第一天摘下若干个桃子,当即就吃了一半,又感觉不过瘾,
于是就多吃了一个。以后每天如此,到第10天想吃时,发现就只剩下了一个桃子。请编程计算第一天猴子摘的桃子个数。
7.编写一个程序,寻用户输入的几个整数中的最小值。并假定用户输入的第一个数值指定后面要输入的数值个数。例如:当用户输入数列为: 5 20 15 300 9 700时,程序应该能够到最小数9
8.有一分数序列
(即后一项的分母为前一项的分子,后项的分子为前一项分子与分母之和),求其前n项之和。
9.求a+aa+aaa+aaaa+... ...+aa...a(n个),其中a为1~9之间的整数。
例如:当a = 1, n = 3时,求1+11+111之和;
当a = 5, n = 7时,求5+55+555+5555+55555+555555+5555555之和。
10.猜幻数游戏。由系统随机给出一个数字(即幻数),让游戏者去猜,如果猜对,则打印成功提示;否则,打印出错提示,并提示游戏者选择下一步动作,最多可以猜5次。
第4章 数组与字符串
1.使用数组来求斐波那挈数列的第n项和前n项之和。
2.编写程序,将4阶方阵转置,如下所示。
         
          转置前方阵A                转置后方阵A
3.使用数组编写一个统计学生课程平均分的程序
输入6个学生的学号和3门课程的成绩(整数形式),统计每个学生3门课程的平均分(整数形式),最后输出统计结果。输出格式:
     学号  高数  英语  体育  平均分
    ----------------------------------------------------------------- 
4. 编写一个程序,要求用户输入一个十进制正整数,然后分别转换成为二进制数、八进制数和十六进制数输出。
5.输入10个字符到一维字符数组s中,将字符串置逆。即s[0]与s[9]互换,s[1]与[8]互换,...,s[4]与s[5]互换,输出置逆后的数组s。
6.替换加密(恺撒加密法):
加密规则是:将原来的小写字母用字母表中其后面的第3个字母的大写形式来替换,大写字母按同样规则用小写字母替换,对于字母表中最后的三个字母,可将字母表看成是首未衔接的。如字母c就用F来替换,字母y用B来替换。
请将字符串“I love you”译成密码。
第5章  函数
1.编写字符串反转函数mystrrev( ),该函数的功能为将指定字符串中的字符顺序颠倒排列。然后再编写主函数验证之。函数声明为
void mystrrev(char string[])
该函数无需返回值。
提示:求字符串长度可以直接调用库函数strlen( ),但在程序首部应加上 #include <cstring>
2.编写一组求数组中最大最小元素的函数。该组函数的原型为
int  imax(int array[], int count);        // 求整型数组的最大元素
int  imin(int array[], int count);        // 求整型数组的最小元素
其中参数count为待考察的数组中的元素个数,函数的返回值即为求得的最大或最小元素之值。要求同时编写出主函数进行验证。
3.编写函数isprime(int a)用来判断变量a是否为素数,若是素数,函数返回1,否则返回0。调用该函数出任意给定的n个整数中的素数。
4.打印出以下的杨辉三角形(要求打印出10行)
1
1        1
1        2    1
1        3    3    1
1        4    6    4    1
1        5    10    10    5    1
提示:打印杨辉三角形有两种方法:
1)杨辉三角形表现的是二项式的展开式的系数。例如,, 故杨辉三角形的第三行(对应n=2)为
1    2    1
        一般地,二项式的展开式为
           
其中第m项
2)可直接根据杨辉三角形的形式来推出每项的值。由下面的杨辉三角形可以看出,杨辉三角形每行的第一个数和最后一个数均为1,除第一行外,每行中间的各数等于上一行位于该数左上方和正上方的两数之和,即
5.用弦截法求一元方程在区间之间的一个根。
提示:考虑当区间足够小,在此区间中方程仅有一个单根的情况,如下图所示。
图5.6  弦截法求方程的解
此时如异号,则可用两点间直线公式求出x2:
然后用x2代入原式求出f(x2),判断f(x2)与f(x1)和f(x0)中的哪一个同号,就用x2f(x2)代替之,即如果f(x2)和f(x0)同号,就用x2f(x2)代替x0f(x0),反之用x2f(x2)代替x1f(x1),然后再继续上述过程直至|f(x)|小于给定的误差控制值。
第6章  指针
1.使用指针编写一个对整型数组进行排序的函数,排序方法使用例4-6的交换排序法(冒泡排序法)。
2.编写程序,将某一个输入的位数不确定的正整数按照标准的三位分节格式输出,例如,当用户输入82668634时,程序应该输出82,668,634。
3.编写程序,把10个整数1、2、…、10赋予某个int型数组,然后用int型指针输出该数组元素的值。
4.用指针编写一个程序,当输入一个字符串后,要求不仅能够统计其中字符的个数,还能分别指出其中大、小写字母、数字以及其他字符的个数。
提示:要输入包含空格的字符串需借助输入流对象的get()成员函数,如(str, 100); 语句就能将从键盘输入的前99个字符(含可能出现在其中的任意个空格)存入到字符数组str中去,若用户输入字符数少于99,则以回车换行表示输入结束。
5.编写一个函数, 用于将一个字符串转换为整型数值。其原型为:
        int atoi(char *string);
  其中参数string为待转换的字符串(其中包括正、负号和数字),返回值为转换结果。
6.编写一个函数,用于生成一个空白字符串,其原型为:
char *mystrspc(char *string, int n);
其中参数string为字符串,n为空白字符串的长度 (空格符的个数)。返回值为指向string的指针。
第7章  函数与指针
1.使用递归算法编写如下程序:对于任意给定的实数X和整数k>0,计算Xk
2.Ackermann函数ack(m,n)由以下递归定义:
ack(0, n)=n+1
ack(m, 0)=ack(m-1, 1)
ack(m, n)=ack(m-1, ack(m, n-1))          其中m>0, n>0
编写一个计算此函数的递归程序。
3.使用递归算法编写求斐波那契数列的第n项的函数,并编出主函数进行验证。
4.编写一个求立方函数cube,重载它,使之编程递归函数可以对输入的整型量和实型量数值求立方。
5.重载判断两个数值大小的函数max,这些数值可能是整型数、实型数和字符型,函数的返回值为两个数值中的最大值。
6.编写一个函数,用于去掉字符串尾部的空格符,其原型为:
char *mytrim(char *string);
其中参数string为字符串,返回值为指向string的指针。
7.编写一个函数,用于去掉字符串前面的空格,其原型为:
char *myltrim(char *string);
其中参数string为字符串,返回值为指向string的指针。
8.编写一个程序,当输入一个整数以后,可以转换成相应的英文单词输出。如:123转换成one hundred twenty three.
9. 用牛顿法或者二分法编写一个求方程f(x)=0在区间[a,b]中的实根的函数, 其原型为:
    double equation(double (*func)(double), double a, double b, double eps);
其中参数func, a和b分别为求根函数和区间两端点, eps为精度。
第8章  结构化设计方法
1输入某小组5个人的姓名、性别、出生年份等信息,统计男女人数以及1988年以后(含1988年)出生的人数。
2.定义一个名为Circle(圆)的结构体,其数据成员是圆的外接矩形的左上角和右下角两点的坐标,计算该圆的面积。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。