考年龄的c语言题目,C语言考题目汇总.doc

C语言考题目汇总

设计的基本环节及主要内容

(一)基本要求题目

1、猜数游戏(掌握程序结构及随机函数应用)

程序说明:游戏的开始由机器产生一个随机数(1~100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer is HIGH,try again. ,否则,程序提示:Your answer is LOW,try again.,直到猜对为止。程序可实现连续猜数,直到游戏者退出。

程序输出要求:累计游戏者猜对一个数所需次数n,当n=15时,用exit(0)库函数退出程序。

2、百钱百鸡(穷举算法)

我国古代数学家张丘键在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

注:穷举法是最简单、最常见的一种程序设计方法。它充分利用了计算机处理的高速特性。使用穷举法的关键是确定正确的穷举范围,即不能过分扩大、也不能过分缩小穷举的范围。

3、简单计算器

请编写一个程序计算表达式:data1 op data2的值。其中,op为运算符+、-、*、/。

4、打印出所有的“水仙花数”

所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为:153=13+53+33 。

5、字符串处理函数

编写三个函数:求字符串长度函数(函数原型为:int strlen(char *p)),字符串复制函数(函数原型为:void strcpy(char *p1,char *p2)),字符串比较函数(函数原型为:int strcmp(char *p1,char *p2),返回值为第一个不相同字符的ASCII码差。)。

要求:在主函数中根据用户需要调用不同的函数功能。

6、编一程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符数组中并输出。(提示:算法采用模拟人工法。)

注:计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。

7、判断一个数是否是数组中的成员(用二分法查找)

已知数据a中一共有10个已排序的整数(由小到大排列)。现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置来,否则打印“找不到“。

(提示:①设待查找的数为x,设三个位置变量l、m、h分别代表查找范围的顶部、中间位置和底部,m=(l+h)/2,把数分成以a[m]为中点的两段范围。②判断x 是否等于a[m],若是,则找到。③若大于a[m],则x必在后半段范围,即在a[m+1]至a[h]。则舍弃前半段,再在后半段重新划分两段范围,定出l、m和h,重复以上步骤,逐步缩小查找范围。)

8、位数大小排序(掌握数值排序算法)

程序说明:输入一个五位整数,对此整数中的五个数值进行从大到小的顺序排序,形成一个新的五位整数,并输出这个整数。

要求:用函数调用。

9、请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。(数组维数用宏定义)

10、矩阵乘法(数值求解算法)

编写一个函数实现矩阵A(2行3列)与矩阵B相乘(3行2列),乘积放在C数组中。

在主函数中输入相乘的两数组,并输出结果。

11、求所有不超过200的N值,N的平方是具有对称性质的回文数。回文数就是将一个数从左向右读是一样的,如满足题意要求的数有:N=11,112=121。

12、插入后自动排序(掌握用穷举法进行比较、交换)

把一个整数插入到按由小到大排列的数列中,插入后仍然保持由小到大的顺序排列。

要求:用数据指针。

13、计算分数的精确值

使用数组精确计算M/N(0

注:由于计算机内字长有限,常规的浮点运算都有精度限制,为了得到高精度的计算结果,就必须自行设计算法。

提示:可将商存放在一维数组中,进行除法运算时,可模拟人的手工操作,即每次求出商的一位后,将余数乘以10,再计算商的下一位。若某次余数为0,则为有限不循环小数。若某次计算后的余数与前面的某个余数相同时,则M/N是无限循环小数。

14、马克思手稿中的数学题(穷举算法)

马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了50先令:每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人、小孩各有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值