文档库 最新最全的文档下载
当前位置:文档库 › C++编程练习题

C++编程练习题

C++编程练习题
C++编程练习题

编程练习题

一、程序控制结构编程练习题

1.有一函数如下所示:

已知x 值时,输出y 值。 2.编程计算:s=∑∑==++20

123

12)2()1(i j j i

3.求sum=a+aa+aaa+aaaa+…+aa …a(表示n 个a)的值。其中a 是一位数字。例如当n=6,a=2时sum=2+22+222+2222+22222+222222。n 和a 的值由键盘输入。

4.求100~230之间所有素数的和。

5.从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。

6. 输入某学生成绩,若成绩在90-100输出"excellent ",若成绩在80-89输出"good ",若成绩在70-79输出"general ",若成绩在60-69输出”pass”,若成绩在0-59输出”no pass”。

7.编程计算n!。n 从键盘输入,且n<=15。

8.编程计算1!+2!+……+20!。

9.输入三人数,按从小到大的大顺序输出。

10.在100~200中找出同时满足3除余2,用5除余3和用7除余2的所有整数。

11.找出20~150中所有能被3或被7整除的数。

12.找出1~100这间所有的素数,要求一行输出5个。

13.求20~130之间所有素数的和。

14.求100~999中的。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=13+53+33,所以153为水仙花数。

15.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,6=1+2+3,所以6为完数。

14.编一程序显示如下图案:

*

* * *

* * * * *

* * * * * * *

* * * * * * * * *

15.编一程序显示如下图案:

*********

*******

*****

***

*

x (x<1) Y= x+5 (1≤x<10) x-5 (x ≥10)

16.编一程序显示如下图案:

*

***

*****

*******

*********

*******

*****

***

*

17.编一程序显示如下图案:

A

A B C

A B C D E

A B C D E F G

18.根据π/4 =1-1/3+1/5-1/7+…求π的近似值,直到最后一项的值小于0.000001为止。

19.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?

20.编写程序输出菲波那切数列的前20项。即前两项为1,以后每一项为前两项之和。

21.分别使用for 、while 、do while 语句编程打印九九乘法表。

22.若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n 年时有多少头母牛?

24.从键盘上输入若干整数,计算并输出其中正整数的平均值,以0作为输入结束标志。(要求分别使用while 语句、do …while 语句编写)

25.分别使用while 、do while 、 for 语句编程实现s=∑=10

2!n n

26.已知xxz+yzz=532,求所有可能的x,y,z 的值

27.编程计算1+2+3+…+100

28.编程计算1~100所有奇数之和。

29.编程计算1~100所有偶数之和。

30.编程实现如下功能:从键盘输入两个正整数m ,n (m

31.编程实现下列功能:从键盘输入x,利用下列公式计算cos(x)的近似值。要求准确度达到10-8。

....!

8!6!4!21cos 8

642-+-+-=x x x x x 32.从键盘输入任意多个正整数,计算其和。当输入为0时结束输入,并输出计算结果。

33.写一个完整的程序,从键盘读入两个浮点数和一个运算符,根据运算符计算两个浮点数的运算结果,并输出。运算符可能的值是’+’,’-‘,’*’,’/’。

34.编程统计数组a中正数、0、负数的个数

35.从键盘输入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)是实现根据整型变量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.函数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 score[][3],int &n)是要求从键盘输入n个学生的3门成绩,存入score[][3]中。由于学生人数不确定,要求输入为999时结束输入主。最后实际录入的学生人数放入到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;

函数void Luru(DATE xs[],int n)的功能是从键盘上录入n 个学生的生日。请实现该函数。

19.有结构体定义如下:

typedef struct stu

{ char no[12];

char name[20];

float score[4];

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 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)。

编写一递归函数,求最大约数,并测试。

2.编写一递归函数,计算下面的级数:

i

i m 1......31211)(++++= 3.编写一递归函数,计算下面的级数:

1

2.....11594735231)(+++++++=i i i m 4.编写一函数,逆序输出一个整数n 。函数头如下:

void reverseDisplay(int value)

5.编写一函数,逆序输出一个字符串,函数头如下:

void reverseDisplay(const char *s)

6.编写一递归函数,统计一个指定字符在一个字符串中出现的次数,函数头如下: int count(char *,char )

7.编写一递归函数,计算一个整数中所有数字之和。函数头如下: int sumDigit(long n)

8. 编写一递归函数,计算2n

9. 编写一递归函数,计算1+2+3+4+…+n。n为正整数

10. 编写一递归函数,计算n!

相关文档