《C++编程练习题》由会员分享,可在线阅读,更多相关《C++编程练习题(5页珍藏版)》请在金锄头文库上搜索。
1、编程练习题一、程序控制结构编程练习题1.有一函数如下所示: x (x1)Y= x+5 (1x10) x-5 (x10)已知x值时,输出y值。2.编程计算:s=3.求sum=a+aa+aaa+aaaa+aaa(表示n个a)的值。其中a是一位数字。例如当n=6,a=2时sum=2+22+222+2222+22222+222222。n和a的值由键盘输入。4.求100230之间所有素数的和。5.从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。6.输入某学生成绩,若成绩在90-100输出excellent,若成绩在80-89输出good,若成绩在70-79输出general,若成
2、绩在60-69输出”pass”,若成绩在0-59输出”no pass”。7.编程计算n!。n从键盘输入,且n=15。8编程计算1!+2!+20!。9.输入三人数,按从小到大的大顺序输出。10.在100200中找出同时满足3除余2,用5除余3和用7除余2的所有整数。11.找出20150中所有能被3或被7整除的数。12找出1100这间所有的素数,要求一行输出5个。13求20130之间所有素数的和。14.求100999中的。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153135333,所以153为水仙花数。15.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有
3、因子之和。例如,6123,所以6为完数。14.编一程序显示如下图案:* * * * * * * * * * * * * * * * * * * * *15编一程序显示如下图案: * * * * *16编一程序显示如下图案: * * * * * * * *17.编一程序显示如下图案:AA B CA B C D EA B C D E F G18.根据/4 =1-1/3+1/5-1/7+求的近似值,直到最后一项的值小于0.000001为止。19.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的
4、一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?20.编写程序输出菲波那切数列的前20项。即前两项为1,以后每一项为前两项之和。21.分别使用for、while、do while语句编程打印九九乘法表。22.若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛?24.从键盘上输入若干整数,计算并输出其中正整数的平均值,以0作为输入结束标志。(要求分别使用while语句、do while语句编写)25.分别使用while 、do while、 for语句编程实现s=26.已知xxz+yzz=532,求所有可能的x,y,z的值2
5、7编程计算1+2+3+10028.编程计算1100所有奇数之和。29.编程计算1100所有偶数之和。30编程实现如下功能:从键盘输入两个正整数m,n(mn),求出两个值之间的全部素数。如输入20和200,程序会将20200之间全部素数显示出来。31编程实现下列功能:从键盘输入x,利用下列公式计算cos(x)的近似值。要求准确度达到10-8。32从键盘输入任意多个正整数,计算其和。当输入为0时结束输入,并输出计算结果。33.写一个完整的程序,从键盘读入两个浮点数和一个运算符,根据运算符计算两个浮点数的运算结果,并输出。运算符可能的值是+,-,*,/。34.编程统计数组a中正数、0、负数的个数35
6、.从键盘输入10个正数存入数组x中,然后输入要查找的整数a,如找到则输出a及a的下标,如找不到,则把a存入到数组的最后。36.从键盘输入20个学生的成绩,输出平均分数,并统计优秀、良好、中等、及格和不及格学生的人数。37.把有序的一两个数组a和b合并,要求合并后的数组依然有序。二、函数编程练习题1.编写函数void reverse(int n),将n逆序输出。2.编写函数int count (char p)统计字符串p的长度并作为函数值返回。3.函数int max(int a,int b,int c)是求a、b、c中的最大值,请实现。4.函数void print_week(int m)是实现根
7、据整型变量m的值,输出其表示的星期几的英语单词。(使用switch语句)5.编写二个函数:一个函数void sum(n)是求指定范围1-n内所有素数的和;另一个函数int fact是判断一个数是否是素数;要求在sum中调用fact进行判断,然后求素数和。6.函数void menu()是实现一个简单的菜单程序,运行时显示:Menu:A(阶乘)S(求和) F(找素数)Q(退出) 请选择(A/S/F/Q)?7.实现函数long fact(n),计算n的阶乘。8函数int SUM(int n)是计算1+2+n.9函数void prim(int n)是找出2-n内的所有素数,每行输出10个素数。10.函
8、数void sum(int n=100)的功能是找出n以内的所有素数,并求和。11、函数long fact(int n)是计算1!+2!+3!+.+n!,并将结果作为函数值返回。请实现该函数。12.函数void sum(int &s,int n)是计算s=1+2+3+n。请实现该函数。13.函数void max(int a,int n,int &max)是求n个元素的数组a中的最大值,将最值存放在max中。请实现该函数功能。14.函数void input(foat score3,int &n)是要求从键盘输入n个学生的3门成绩,存入score3中。由于学生人数不确定,要求输入为999时结束输入
9、主。最后实际录入的学生人数放入到n中返回调用处。请实现该函数。15.函数int digit(char str)的功能是统计字符串str中的数字字符个数和,将统计结果作为函数值。请编程实现该函数。16.函数void print(int *p,int n)的功能是输出n个整数。这n个整数存放在以p为首地址的内在中。请实现该函数。17.函数void print(int (*p)4,int n,int m)功能是输出p所指向的n行m列二维数组中所有的元素。18.有一结构体定义如下: typedef struct date int day; int month; int year; DATE; 函数vo
10、id Luru(DATE xs,int n)的功能是从键盘上录入n个学生的生日。请实现该函数。19.有结构体定义如下:typedef struct stu char no12; char name20; float score4; float zf;总分/ float aver;/平均分 STUDENT;(1)函数void pp(STUDENT xs,int n)的功能是按表格的形式输出n个学生的所有信息。请实现该函数。 (2)函数void jishuan(STUDENT xs,int n)的功能是计算n个学生的总分和平均分。请实现该函数。 20.函数void Write(int a,int
11、n)的功能是将n个元素的数组a中的所有元素写入文件data.dat中。请实现该函数。21. 函数void Read(int b,int &n)的功能是文件data.dat中的所有整数读入到数组b中,整数个数存入到n中。请实现该函数。22.文件file.txt中存放了若干字符。函数int tongji(int &n)是统计文件file.txt中数字和字母的个数。将字母个数存入到n中,数字的个数作为函数值。请实现该函数。三、递归函数设计1计算最大约数gcd(m,n)可用递归形式定义如下:若m%n等于0,则gcd(m,n)等于n否则,gcd(m,n)等于gcd(n,m%n)。编写一递归函数,求最大约
12、数,并测试。2编写一递归函数,计算下面的级数:3编写一递归函数,计算下面的级数:4编写一函数,逆序输出一个整数n。函数头如下:void reverseDisplay(int value)5编写一函数,逆序输出一个字符串,函数头如下:void reverseDisplay(const char *s)6.编写一递归函数,统计一个指定字符在一个字符串中出现的次数,函数头如下: int count(char *,char )7.编写一递归函数,计算一个整数中所有数字之和。函数头如下: int sumDigit(long n)8. 编写一递归函数,计算2n9. 编写一递归函数,计算1+2+3+4+n。n为正整数10. 编写一递归函数,计算n!