1、4-2 编写一个程序,要求从键盘上输入两个整数,并输出这两个数中的大数。4-3 编写一个程序,实现根据输入的x值,可求出y的值,并输出x和y的值。计算y值的数学公式为:y= 1.5x+7.5 x2.54-4 设计一个程序,输入实行变量x和y的值。若xy,则输出x-y的值;否则输出y-x的值4-5 设计一个程序,求出下列一元二次方程的根:ax2+bx+c=0系数a、b、c的值从键盘上输入。求方程根的计算公式为:s=(-b+根号(b2-4ac))/2a当平方根小于0时,输出“No solutons!”;否则,输出x的两个根。4-6 设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输
2、出。90分以上为A,8089分为B,7079为C,6069为D,60分以下为E。分别用条件语句和开关语句实现。4-7 从键盘输入10个实数,并求出这10个数之和及平均值。用循环语句实现,写出完整的程序。4-8 从键盘输入一个整数n的值,按下式求出y的值,并输出n和y的值(y用实数表示):y=1!+2!+3!+.n!4-9 设计一个程序,输出所有的水仙花数。所谓水仙化数是一个三为数,其各位数字的立方和等于该数本身。列如:153=13+53+33因此153是一个水仙化数。4-10 设计一个程序,求出100200之间的所有素数。4-11 用循环语句实现输出如下的图形:* * * * * * * *
3、* * * * *4-12 设计一个程序,按以下公式求出数列的20项并输出。计算公式为:y=0 n=0;y=1 n=1;y=2 n=2;y=Y(n-1)+Y(n-2)+Y(n-3) n24-13 设计一个程序,输入一个四位数(整数,求出各位数之和。4-14 从键盘输入若干个实数,以输入0为结束。设计一个程序,分别统计出正数的个数和负数的个数。并求出正数之和、负数之和及总的平均值。4-15 设计一个程序,输入一个四位整数。将各位数字分开,并按其反序输出。列如:输入1234,则输出4321,要求必须用循环语句实现。4-16 设计一个程序,求出满足以下条件的最小的n值和s值:s=1+2+3+.+n,
4、且x=6004-17 求pi/2的近似值的公式为:pi/2=2/1*2/3*4/3*4/5*2n/(2n-1)*2n/(2n+1)其中,n=1、2、3设计一个程序,求出当n=100是pi的值4-18 求出1599中能被3整除,且至少有一位数字为5的所有整数。如15、51、513均是满足条件的整数。4-19 求满足以下条件的三为数 n,它除以 11 所得的商等于 n 的各位数字的平方和,且其中至少有两位数字相同。列如,131 除以 11的商为 11,各位数字的平方和为 11,所以它是满足条件的三位数。5-2 设计一程序,计算组合数:C(m,r)m!/(r!*(m-r)!),其中 m,r 为正整数
5、,且 mr.分别求出 C(4,2).C(6,4).C(8,7)的组合数。求阶乘和组合数须用函数来实现。5-3 设计一个程序,输入一个十进制整数,输出相应的十六进制数。设计一个函数实现数制转换。5-4 设计一个程序,求出 5100 之间的所有素数,要求每行输出 5 个素数。判断一个整数是否为素数用一个函数来实现。5-5 设计一个程序,输入两个整数,求出这两个整数的最小公倍数。求两个数的最小公倍数用一个函数来实现。5-6 设计一个程序,输入两个整数,求出这两个整数的最大公约数。求两个数的最大公约数用一个函数来实现。5-7 设计一个程序,通过重载求两个数中大数的函数 max(x,y),分别实现求两个
6、实数和两个整数的大数。5-8 设计一个程序,用内联函数实现求出三个实数中的最大数,并输出最大数。5-9 定义一个求 n!的函数,n 的缺省值为 10。5-10 设计一参数数目可变的函数,第一个参数 n 为参数的个数。求出这 n 个实蚕之和并输出。5-11 设计一参数数目可变的函数,第一个参数 n 为参数的个数。调用该函数时,若 n=3,则求出后三个实参之积并返回该值;若 n=则求出后四个实参的平均值并返回该值5-12 用递归函数实现 Fibonnaci 数列的前 n 项,n 作为函数的参数5-13 当 x1 时,Hermite 多项式定义为:H(x)=1 n=0 ,2x n=1 ,当输入实数
7、x 和整数 n 后,求出 Hermite 多项式的前 n项的值。分别用递归函数和非递归函数来实现。5-14 阿克曼函数定义如下:,其中 m、n 为正整数,设计一个程序,分别求出 Acm(5,3)的值5-15 设计一个程序,要求输入一个整数,并能逐位正序和反序输出,如输入一个整数 3456,则输出 3456 和 6543,分别设计两个函数,一个实现正序输出,另一个实现反序输出5-16 设计一个程序,将求两个实数的最大值函数放在头文件 mufun.h 中,在源程序文件 mypro.cpp 中包含该头文件,并实现输入三个实数,求出最大值5-17 设计一个程序,定义带参数的宏 MAX(A,B)和 MI
8、N(A,B) ,分别求出两个数中的大数和小数,在主函数中输入三个数,并求出这三个数中的最大数和最小数5-18 已知三角形的三条边 a,b,c,则三角形的面积为:area=sqrts(s-a)(s-b)(s-c)求出其中 s =(a+b+c)/2。编写程序,分别用带参数的宏和函数求三角形的的面积5-19 设计一个程序,使用条件编译输出调试信息6-1 读入一组整数到一维数组中,设计一程序,找出其中最大的偶数和最大的奇数(若设有奇数时,输出“没有奇数!“)并输入6-2 输入一组非 0 整数(以输入 0 作为输入结束标志)到一维数组中,设计一程序,求出这一组数的平均数,并分别统计出这正数和负数的个数6
9、-3 输入 10 个数到一维数组中,按升序排序后输出。分别用 3 个函数实现数据的输入,排序和输出6-4 输入 N 个数到一维数组中,求均方差:D=其中 M=6-5 设计一程序,求一个 4*4 距阵对角线元素和6-6 先输入一个 4*4 的距阵,转置后输出结果,6-7 用一个 2 维数组 float cla502来存放一个班级的 2 门课程(c+和计算机应用基础)的成绩6-8 用 cin.getline()将一个字符串出入到字符数组 S(char S200)中,删除字符串中的所有空格后输出6-9 用 cin.getline()将一个字符串出入到字符数组中,按反序输出6-10 设计一个函数 in
10、t strlen(char s)。求出字符串 S 中包含的字符个数,并作为函数的返回值6-11 设计一个函数 void strcpy(char a,char b),将 b 中的字符串拷贝到数组 a 中6-12 设计一个函数 void strcat(char a,charb)。将 b 中的字符串拼接到数组 a 中的字符串的后面,构成一个字符串6-13 用筛选法求出 2 到 200 之间的所有的素数7-1 定义描述一个人出生日期的结构体类型变量,包括年,月,日7-2 定义描述通讯录的结构体类型变量,包括姓名,地址,电话号码和邮编7-5 为全班同学建立一个通讯录(结构体数组) ,完成数据的输入和输出
11、7-6 定义描述复数的结构体类型变量,并实现复数的输入和输出。设计三个函数分别完成复数的加法,减法和乘法运算7-7 定义描述三维坐标点(x,y,z)的结构体类型变量,完成坐标点的输入/输出,并求两左边点之间的距离7-8 一个元素包括:姓名,学号,C+成绩,英语成绩,数学成绩和这三门功课的平均成绩。设计四个函数:全班成绩的输入,求出每个同学的平均成绩,按平均成绩的升序排序,输出全班成绩表7-9 定义一个描述一周日程的枚举类型,完成这种枚举类型变量的输入和输出7-10 定义一个描述三种颜色的每举类型,输出这三种颜色的全排列结果8-2 用指针作为函数的参数,设计一个实现两个参数交换的函数.输入三个实
12、数,按升序排列后输出.8-3 定义一个而维的字符串数组,输入若干个字符串,按升序排列后输出,要求设计一个通用的排列函数,输入参数作为字符串数组和要排列的字符串的个数.8-4 设计一个通用的插入排列函数,参数为指向实数的指针(指向一个已经排好序的数组)和一个实数,将该实数插入到已经排好序的数组中.主函数完成输入若干个实数,没输入一个实数,调用一次插入排序的函数完成数据的排序,最后输出已经排好的数据.8-5 设计一个函数,求字符串的长度(指向字符串的指针作为函数的参数).在主函数中输入一个字符串,并输出该字符串及其长度.8-6 设计一个函数,将一个字符串并接到一个字符串的尾部,并接后构成一个新的字
13、符串,主函数完成输入该字符串,输出该字符串和并接后的新的字符串的功能.8-7 设计一个函数,将一个字符串拷贝到另一个参数所指向的字符树组中.主函数完成输入一个字符串,输出拷贝后的字符串的功能.8-8 输入一个二维数组 A66.设计一个函数,用指向一维数组的指针变量和二维数组的行数作为函数的参数,求出平均值,最大元素值,和最小元素值,并输出.8-9 设计一个用矩形法求积分的通用函数,被积函数的指针,积分的上限,积分的下限和积分区间的等分数作为函数的参数.分别求出下列定积分的值;()8-10 定义一个指向字符串的指针数组,用一个函数完成 N 个不等长字符串的输入,-根据实际输入的字符串长度用 NE
14、W 运算符分配存储空间,依次使指针数组中的元素指向每一个输入的字符串,设计一个完成 N 个字符串排序的函数,在主函数中实现将排序后的字符串输出.8-11 输入一个字符串,串内有数字和非数字字符.例如 ABC2345 345.将其中连续的数字作为一个整数依次存放到另一个整数数组 B 中.8-12 建立一个无序链表,没一个节点包括:学号,姓名,年龄.由一个函数完成建立链表工作,另一个函数完成输出链表上各结点值.8-14 建立一个有序链表,每一个节点包括:学号,姓名,.求出总分最高和最低的同学并输出8-15 建立一条无序链表,用一个函数实现将这条链表构成一条新的逆序链表,即将链表头当链表尾,链表尾当
15、链表头,输出这两条链表上各个节点的植9-1 定义一个描述复数的类,数据成员包括实部和虚部;成员函数包括:输出复数,置实部,置虚部。9-2 定义一个描述学生基本情况的类,数据成员包括姓名,学号,数学,英语,物理和 C+成绩,成员函数包括输出数据,置姓名和学号,置四们课的成绩和平均成绩。9-4 三维坐标中的一条直线的两端点的坐标(x1,y1,z1)和(x2,y2,z2)来描述。定义一个类,实现坐标数据的设置,输出端点的坐标和直线的长度。构成一个完整的程序,完成测试工作。10-2 定义一个描述复数的类,数据成员包括实部和虚部;成员函数包括输出复数以及构造函数完成数据的初始化。10-3 定义一个描述学
16、生基本情况的类,数据成员包括姓名,学号,数学,英语,物理和C+成绩;成员函数包括输出数据,构造函数可完成所有数据的初始化,修改每一个数据成员的函数,求出总成绩和平均成绩的函数。11-1 把定义直角坐标系上的一个点的类作为基类,派生出描述一条直线的类,再派生出三角形类。要求成员函数能求出两点间的距离、三角形的周长和面积等。11-7 设计一个大学的类系统,大学中有学生、教师、干部和工人。学生的任务是学习;教师的任务是上课和科研;干部的任务是管理;工人的任务是定额生产产品。提取共性作为基类,并派生出满足要求的各个类及每一个类上的必要操作。11-8 设计一个描述儿童、成人和老人的类系统,儿童分为学龄前
17、和学龄期儿童,成人有工作,老人已经退休。提取共性作为类基,并派生出满足要求的各个类及每一个类上的必要操作。12-7 建立一条双向无叙链表,节点数据包括:姓名、地址和工资。12-8 建立一条双向有序链表,节点数据包括:姓名、地址和工资。按工资从小到大的顺序排列。13-5 定义一个复数类,通过重载运算符:、+、-、+、-、*、/、!,直接实现两个复数之间的各种运算。编写一个完整的程序13-6 定义一个学生类,数据成员包括:姓名,学号,C+、数学和物理的成绩。重载运算符“”,实现学生类对象的直接输入和输出。增加转换函数,实现姓名和总成绩的转换设计一个程序,验证成员函数和重载运算符的正确性。13-7
18、定义描述平面上一个带内的类point,重载“+”和“-”运算符,并区分这种运算符的前置和后置运算。构成一个完整的程序。13-8定义一个指向字符串的指针数组,重载下标运算符,实现下标是否出界的检查。13-9通过重载函数调用运算符,完成三维数组小标的合法性检查。三维数组的类型可为整性或实型。13-10完善字符串类,增加以下运算符的重载:+=、-=、=、!=。在主函数中侧重检测重载运算符的正确性。第 4 章4-2#include void main()int x,y,t;coutx;ciny;if(x=y)t=x;else t=y;coutvoid main()float x,y;coutx;if(
19、xvoid main()float x,y;coutx;ciny;if(xy)cout#include void main()float a,b,c,delta,x1,x2;couta;cinb;cinc;delta=b*b-4*a*c;if(delta=0)delta=sqrt(delta);if(delta0)x1=(-b+delta)/2/a;x2=(-b-delta)/2/a;coutvoid main()int s;while(1)couts;if(s=90)cout=80)cout=70)cout=60)coutvoid main()int s;while(1)couts;if(s
20、void main()int i;float a,avg,sum=0;for(i=1;ia;coutvoid main()int i,n,y=0,k,j;coutn;coutvoid main()int i,j,k;for(i=1;i#includevoid main()int s,i,j;for(s=101;s=j+1)cout#include void main()int i,j;for(i=1;ivoid main()int n,y0,y1=0,y2=1,y3=2;for(n=0;nvoid main()int i,k,l,j,s=0;coutk;j=k;for(i=1;ivoid ma
21、in(void)float a,s1=0,s2=0;int m=0,n=0;cina;while(a)if(a0)m+;s1+=a;elsen+;s2+=a;cina;coutvoid main()int s,i,j,n;couts;i=1;while(ivoid main()int n=1,s=0;while(svoid main()double pi=1;int i=1;while(i#include void main()int i=3,j,n,k,s=-1;while(i#include void main()int k,i=101,s=-1,n,a1,a2,a3,t=0,j,m;wh
22、ile(iint max(int a,int b)int maxz;if(a=b)maxz=a;else maxz=b;return maxz;void main()int i,j,k,m,n;couti;cinj;cink;m=max(i,j);n=max(m,k);cout#include int jc(int n)int j=1,i;if(nint conversion(int x,int a)int i;if(x/16=0)a0=x; return 1;elsei=conversion(x/16,a);ai+=x%16;return i;void main()int i=0,x,a50
23、;coutx;i=conversion(x,a);cout#include int s=0;void ifprimenumber(int x)int i,p=1;for(i=2;i#include int s=0;void ifprime(int x)int i,p=1;for(i=2;ivoid main()coutxy;if(xy)int temp=x;x=y;y=temp;int r,a=x,b=y;while(r=a%b)!=0)a=b;b=r;coutint gcd(int,int);void main()int a,b,g,l;coutab;cout=1;i-)if(!(a%i)|
24、(b%i)return i;return 1;5-7#include int max(int x,int y)int z;return z=xy?x:y;float max(float x,float y)return xy?x:y;void main()int a,b;float x,y;coutab;coutxy;coutinline float max(float x,float y,float z)float k;k=xy?x:y;return kz?k:z;void main()coutabc;coutint v(int n=10);void main()int a;couta;co
25、ut#include int sum(int num,int b.)va_list ap;int temp,sum;va_start(ap,b);sum=b;for(int i=1;ixy;coutxyz;coutxyzu;coutxyzuv;coutxyzuvw;cout#include float v(int num,int b.)va_list ap;int sub,sum,temp;float arv;va_start(ap,b);sub=b;sum=b;if(num=3)for(int i=1;ixyz;coutxyzk;cout.precision(2);cout#include
26、long int f(int n)if(n=1|n=2)return (1);else return f(n-1)+f(n-2);void main()int i,n;coutn;for(i=1;iint hermite(float x,int n)if(n=0)return(1);else if(n=1)return(2*x);else if(n1)return(2*x*hermite(x,n-1)-2*(n-1)*hermite(x,n-2);void main()coutxn;for(int i=0;ifloat hermite(float x,int n)if(n=0)return(1
27、);if(n=1)return(2*x);float h1=1,h2=2*x,h3;for(int i=2;ixn;for(int i=0;iunsigned long int acm(int m,int n)int c;if(m=0)return n+1;if(n=0)return acm(m-1,1);if(n0return acm(m-1,c);return -1;void main()int m,n;/ coutmn;coutvoid f1(int n)int j=n%10;if(n/10)f1(n/10);coutx;cout#include “myfun.h“void main()
28、float x,y,z,t;coutxyz;t=max(x,y);coutb?a:b;5-17#include #define MAX(A,B) AB?A:B#define MIN(A,B) AB?B:Avoid main()int x,y,z,s,t,u,v;coutxyz;s=MAX(y,z);u=MAX(x,s);t=MIN(y,z);v=MIN(x,t);cout#include #define area(s,a,b,c) sqrt(s*(s-a)*(s-b)*(s-c)void main()float m,x,y,z;coutxyz;m=(x+y+z)/2;cout#include
29、#define s(a,b,c) (a+b+c)/2#define area(s,a,b,c) sqrt(s*(s-a)*(s-b)*(s-c)void main()float m,x,y,z,t;coutxyz;t=s(x,y,z);cout#include #define s(a,b,c) (a+b+c)/2#define area(s,a,b,c) sqrt(s*(s-a)*(s-b)*(s-c)void main()float x,y,z;cinxyz;cout#include float area(int a,int b,int c)float s;s=(a+b+c)/2;retur
30、n(sqrt(s*(s-a)*(s-b)*(s-c);void main()float x,y,z;coutxyz;cout#define Aunsigned long int acm(int m,int n)unsigned long int c;if(m=0)return n+1;if(n=0)return acm(m-1,1);if(n0return acm(m-1,c);return -1;void main()int s,t;#ifndef Acoutst;coutvoid main()int a100,b100,c100;int max2,max1,j=0,k=0,n,m,t;co
31、utai;i+;while(ai-1);t=i-1;for(i=0;imax1)max1=bi;coutmax2)max2=ci;coutvoid main()int a100,b100,c100;int max2,max1,j=0,k=0,t;float avg,s=0;coutai;s+=ai;i+;while(ai-1);t=i-1;cout0)j+;else if(aivoid input(int a10)for(int i=0;iai;void sort(int a10)int i,j,k;for(i=0;iaj)k=ai;ai=aj;aj=k;void print(int a10)
32、for(int i=0;i#include void main()float a100,s=0.0,t;float D=0.0,M;int i=0;coutai;i+;while(ai-1!=0);t=i-1;cout#include void main()float a44,s=0,t;int i=0,j;coutaij;s=a00+a11+a22+a33+a03+a12+a21+a30;cout#include void main()float a44,s=0,t;int i=0,int j;coutaij;for(i=0;i#include void main()float a44,s=0,t;int i=0,int j;coutaij;for(i=0;i#include void main()int t,a44,k=1;for(int i=0;i#include #include #include void main()int sum,sun1=0,sun2=0,n;