《2022年C语言编程题.pdf》由会员分享,可在线阅读,更多相关《2022年C语言编程题.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言编程题四、编写程序题及参考答案导读 :虽然题目基本按照教材章节顺序排列的,但就是把同类题目尽量排在一起,便于读者学习掌握编程方法与思路 ,提高自己的编程能力。【4、1】已知银行整存整取存款不同期限的月息利率分别为: 0、315% 期限一年0、330% 期限二年月息利率 0、345% 期限三年0、375% 期限五年0、420% 期限八年要求输入存钱的本金与期限,求到期时能从银行得到的利息与本金的合计。【4、2】输入年份 year 与月 month,求该月有多少天。判断就是否为闰年,可用如下语言表达式:year%4=0 & year%100!=0 | year%400=0 。若表达式成立 (
2、即表达式值为1),则 year 为闰年 ;否则 ,表达式不成立 (即值为0),year 为平年。【4、 3】编写一个简单计算器程序,输入格式为 :data1 op data2。其中 data1与 data2就是参加运算的两个数,op为运算符 ,它的取值只能就是+、-、*、/。【4、4】输入 n 值,输出如图所示矩形。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 20 页 - - - - - - - - - - C语言编程题【4、5】输入 n 值,输出如图所示平行四边形。【4、6】输入 n 值
3、,输出如图所示高为n 的等腰三角形。【4、7】输入 n 值,输出如图所示高为n 的等腰三角形。【4、8】输入 n 值,输出如图所示高与上底均为n 的等腰梯形。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 20 页 - - - - - - - - - - C语言编程题【4、9】输入 n 值,输出如图所示高与上底均为n 的等腰空心梯形。【4、10】输入 n 值,输出如图所示边长为n 的空心正六边型。【4、11】输入 n 值,输出如图所示图形。【4、12】输入 n 值,输出如图所示图形。精品资料
4、- - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 20 页 - - - - - - - - - - C语言编程题【4、13】输入 n 值,输出如图所示图形。【4、14】输入 n 值,输出如图所示图形。【4、15】输入 n 值,输出如图所示图形。上一页下一页【4、16】输入 n 值,输出如图所示图形。(例为 n=6 时) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 20 页 - - - - - - -
5、- - - C语言编程题【4、17】编写程序 ,输出如图所示sin(x) 函数 0 到 2的图形。【4、18】编写程序 ,在屏幕上输出一个由*号围成的空心圆。【4、 19】 编写程序 ,在屏幕上绘制如图余弦曲线与直线。若屏幕的横向为x 轴,纵向为 y 轴, 在屏幕上显示0360 度的 cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。 其中 cos图形用 * 表示,f(y) 用+ 表示 ,在两个图形的交点处则用f(y) 图形的符号。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页
6、,共 20 页 - - - - - - - - - - C语言编程题【4、20】编写程序 ,输出如图所示高度为n 的图形。【4、21】编写程序 ,输出如图所示高度为n 的图形。【4、22】输入 n 值,输出如图所示图形。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 20 页 - - - - - - - - - - C语言编程题【4、23】输入 n 值,输出如图所示的n n(n10)阶螺旋方阵。1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21
7、8 13 12 11 10 9 图 4、19 n=5 时的螺旋方阵【4、24】输入 n 值,输出如图所示回型方阵。【4、25】输出如图所示的数字金字塔精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 20 页 - - - - - - - - - - C语言编程题【4、26】输入 n 值,输出如图所示图形。【4、27】输入顶行字符与图形的高,输出如图所示图形。【4、28】输入首字符与高后,输出如图所示回型方阵。A A A A A A B B B A A B C B A A B B B A 精品资料
8、 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 20 页 - - - - - - - - - - C语言编程题A A A A A 图 4、24 首字符为 A、高为 5 的方阵【4、29】输入中心字符与高后,输出如图所示回型方阵。X X X X X X Y Y Y X X Y Z Y X X Y Y Y Y X X X X X 图 4、25 中心字符为 Z、高为 5 的方阵【4、30】编写程序 ,输出如图所示上三角形式的乘法九九表。上一页下一页【4、31】编写程序 ,输出如图所示下三角乘法九九表。精品资
9、料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 20 页 - - - - - - - - - - C语言编程题【4、32】编写程序 ,输入三角型的三条边长,求其面积。注意 :对于不合理的边长输入要输出数据错误的提示信息。【4、33】编写程序求出555555 的约数中最大的三位数就是多少。【4、34】编写程序计算下列算式的值: 直到某一项A=0 、000001 时为止。输出最后的值。【4、35】从键盘输入任意的字符,按下列规则进行分类计数。第一类0,1,2,3,4,5,6,7,8,9 第二类+,-,*
10、,/,%,= 第三类其它字符当输入字符 时先计数 ,然后停止接收输入,打印计数的结果。【4、36】对从键盘上输入的行、单词与字符进行计数。我们将单词的定义进行化简,认为单词就是不包含空格、制表符 (t)及换行符的字符序列。例如:a+b+c, 认为就是个单词,它由个字符组成。又如:xy abc, 为精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 20 页 - - - - - - - - - - C语言编程题个单词 ,个字符。 一般用 CTRL+D 作为文件结束标记,其字符码值为 -1,当输入
11、CTRL+D 时表示文件输入结束 ,停止计数。【4、 37】 编写程序计算当x=0 、 5 时下述级数与的近似值,使其误差小于某一指定的值epsilon(例如 :epsilon=0、000001): 【4、38】编写程序计算下式的值: 【4、39】编写程序计算下列序列的值: 要求最后一项小于0、001 时、或者当N=20 时尚未达到精度要求,则停止计算。【4、40】已知求正弦sin(x)的近似值的多项式公式为: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 20 页 - - - - - -
12、 - - - - C语言编程题编写程序 ,要求输入 x 与 ,按上述公式计算sin(x) 的近似值 ,要求计算的误差小于给定的 。【4、41】从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。【4、42】输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位 54321。【4、43】编写程序 ,读入一个整数 ;若为非负数 ,则计算到2 之间的整数与 ;若为一个负数 ,则求 到之间的整数与。分别利用for 与 while 写出两个程序。【4、44】求解爱因斯坦数学题。有一条长阶梯 ,若每步跨 2 阶,则最后剩余1 阶,若每步跨3 阶,则最后剩
13、2 阶,若每步跨 5 阶,则最后剩 4 阶,若每步跨6 阶则最后剩5 阶,若每步跨 7 阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶 ? 【4、 45】 一个自然数被8 除余 1,所得的商被8 除也余 1,再将第二次的商被8 除后余 7,最后得到一个商为。又知这个自然数被17 除余 4,?所得的商被17 除余 15,最后得到一个商就是的2 倍。编写程序求这个自然数。上一页下一页【4、46】编写程序 ,用二分法求一元二次方程2x3-4x2+3x-6=0 在(10,10)区间的根。【4、47】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了的值。请编写一程序,采用割圆法求出的值 ,要求精确到
14、小数点之后的第十位。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 20 页 - - - - - - - - - - C语言编程题【4、48】A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于就是各自找地方睡觉。日上三竿,A 第一个醒来 ,她将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。 B 第二个醒来 ,也将鱼分为五份 ,把多余的一条鱼扔掉,拿走自己的一份。C、D、E 依次醒来 ,也按同样的方法拿鱼。编写程序求出她们合伙至少捕了多少条鱼。【4、49】一辆卡车违犯
15、交通规则,撞人逃跑。现场三人目击事件,但都没记住车号 ,只记下车号的一些特征。甲说:牌照的前两位数字就是相同的;乙说 :牌照的后两位数字就是相同的;丙就是位数学家 ,她说 :四位的车号刚好就是一个整数的平方。请根据以上线索求出车号。【4、50】若一个口袋中放有12 个球 ,其中有 3 个红的 ,3 个白的与 6 个黑的 ,每次从中任取8 个球 ,编写程序求出共有多少种不同的颜色搭配。【4、51】100 匹马驮 100担货 ,大马一匹驮担 ,中马一匹驮担 ,小马两匹驮担。试编写程序计算大、中、小马的数目。【4、52】编写程序 ,输出用一元人民币兑换成1 分、2 分与 5 分硬币的不同兑换方法。【
16、4、53】显示 200以内的完全平方数与它们的个数。(完全平方数 :A2+B2=C2, 求 A、B、C) 【4、54】设 N 就是一个四位数 ,它的 9 倍恰好就是其反序数(例如 :123 的反序数就是321),求 N 的值。【4、55】将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数 ,则称它为对称数。求不超过1993 的最大的二进制的对称数。【4、56】编写程序求解下式中各字母所代表的数字。 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 20 页 - - - -
17、 - - - - - - C语言编程题【4、 57】一个自然数的七进制表达式就是一个三位数,而这个自然数的九进制表示也就是一个三位数 ,且这两个三位数的数码顺序正好相反,求这个三位数。【4、58】请验证 2000 以内的哥德巴赫猜想,对于任何大于4 的偶数均可以分解为两个素数之与。【4、59】如果一个正整数等于其各个数字的立方与,则称该数为阿姆斯特朗数(亦称为自恋性数 )。如 407=43+03+73 就就是一个阿姆斯特朗数。编写程序求1000 以内的所有阿姆斯特朗数。【4、60】任意输入一个偶数,请将它分解为两个素数之与。上一页下一页【4、61】如果整数的全部因子(包括 ,不包括本身 )之与
18、等于 ;且整数的全部因子(包括 ,不包括本身 )之与等于 ,则将整数与称为亲密数。求 3000 以内的全部亲密数。【4、62】猜数游戏。由计算机想一个数请人猜 ,如果人猜对了 ,则结束游戏 ,否则计算机给出提示 ,告诉人所猜的数就是太大还就是太小,直到人猜对为止。 计算机记录人猜的次数,以此可以反映出猜数者猜的水平。【4、63】编写程序求出1000!后有多少个零。【4、64】求矩阵A2*3 的转置矩阵B3*2 。设矩阵A 为: 1 2 3 1 4 A = B = 2 5 4 5 6 3 6 【4、 65】十个小孩围成一圈分糖果,老师分给第一个小孩10 块,第二个小孩2 块,第三个小孩 8 块,
19、第四个小孩22 块,第五个小孩 16块,第六个小孩4 块,第七个小孩 10 块,第八个小孩6 块,第九个小孩14 块,第十个小孩20 块。然后所有的小孩同时将自己手中的糖分一半给右边的小孩 ;糖块数为奇数的人可向老师要一块。问经过这样几次调整后大家手中的糖的精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 20 页 - - - - - - - - - - C语言编程题块数都一样?每人各有多少块糖?【4、66】输入 5 5 的数组 ,编写程序实现 : (1)求出对角线上各元素的与; (2)求出对
20、角线上行、列下标均为偶数的各元素的积; (3)找出对角线上其值最大的元素与它在数组中的位置。【4、67】编写程序 ,以字符形式输入一个十六进制数,将其变换为一个十进制整数后输出。【4、68】编写程序 ,输入一个十进制整数,将其变换为二进制后储存在一个字符数组中。【4、69】编写程序 ,输出 1000 以内的所有完数及其因子。所谓完数就是指一个整数的值等于它的因子之与,例如 6 的因子就是1、2、3,而 6=1+2+3,故 6 就是一个完数。【4、70】对数组 A 中的 N(0N100个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组中元素的顺序,且相同的整数要具有相同的编号。例如
21、数组就是:A=(5,3,4,7,3,5,6) 则输出为 :(3,1,2,5,1,3,4) 【4、71】现将不超过2000 的所有素数从小到大排成第一行,第二行上的每个数都等于它右肩 上的素数与 左肩 上的素数之差。 请编程求出 :第二行数中就是否存在这样的若干个连续的整数 ,它们的与恰好就是1898?假如存在的话 ,又有几种这样的情况?第一行 :2 3 5 7 11 13 17 、 1979 1987 1993 第二行 : 1 2 2 4 2 4 、8 6 【4、72】将 1、2、3、4、5、6、7、8、9 九个数字分成三组,每个数字只能用一次,即每组三个数不许有重复数字,也不许同其它组的三个
22、数字重复,要求将每组中的三位数组成一个完全平方数。【4、 73】一个自然数的七进制表达式就是一个三位数,而这个自然数的九进制表示也就是一个三位数 ,且这两个三位数的数码顺序正好相反,求这个三位数。【4、74】使用数组精确计算M/N(0MN=100) 的各小数位的值。如果M/N 就是无限循环小数 ,则计算并输出它的第一循环节,同时要求输出循环节的起止位置(小数的序号 )。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 20 页 - - - - - - - - - - C语言编程题为了实现高精度
23、计算结果,可将商存放在有( )个元素的一维数组中,数组的每个元素存放一位十进制数,即商的第一位存放在第一个元素中,商的第二位存放在第二个元素中 ,依次类推。这样可使用数组来表示计算的结果。【4、75】使用数组完成两个超长(长度小于 )正整数的加法。为了实现高精度的加法,可将正整数存放在有( )个元素的一维数组中,数组的每个元素存放一位十进制数,即个位存放在第一个元素中,十位存放在第二个元素中,依次类推。这样通过对数组中每个元素的按位加法就可实现对超长正整数的加法。【4、76】使用数组完成两个超长(长度小于 )正整数的加法。为了实现高精度的加法,可将正整数存放在有( )个元素的一维数组中,数组的
24、每个元素存放一位十进制数,即个位存放在第一个元素中,十位存放在第二个元素中,依次类推。这样通过对数组中每个元素的按位加法就可实现对超长正整数的加法。【4、77】使用数组完成两个超长(长度小于 )正整数的乘法。【4、78】马步遍历问题 :已知国际象棋棋盘有8*8 共 64 个格子。设计一个程序,使棋子从某位置开始跳马,能够把棋盘上的格子走遍。每个格子只允许走一次。【4、79】八皇后问题 : 在一个 的国际象棋盘 ,有八个皇后 ,每个皇后占一格 ;要求棋盘上放上八个皇后时不会出现相互 攻击 的现象 ,即不能有量个皇后在同一行、列或对角线上。问共有多少种不同的方法。【4、80】编制一个计算函数y=f
25、(x) 的值程序 ,其中 : -x + 2 、5 0= x 2 y= 2 - 1、5(x-3)*(x-3) 2= x 4 x/2 - 1 、5 4= x 1) 请编写递归程序实现。【4、88】编写函数 ,采用递归方法实现将输入的字符串按反序输出。【4、89】编写函数 ,采用递归方法在屏幕上显示如下杨辉三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 20 页 - - - - - - - - - - C语言编程题1 5 10
26、10 5 1 【4、90】编写函数 ,采用递归方法将任一整数转换为二进制形式。【4、91】设有字母 a、b、c,请编程用递归的方法产生由这些字母组成的,且长度为 n 的所有可能的字符串。例如,输入 n=2,则输出 : aaabacba bb bc ca cb cc 【4、92】将一个数的数码倒过来所得到的新数,叫作原数的反序数,如果一个数等于它的反序数 ,则称它为对称数。编写程序,采用递归算法求不超过1993 的最大的二进制的对称数。【4、93】从到 n(n1000)个自然数中选出个数进行组合,并按指定的格式输出组合的结果。例如 :n=5,r=3 时,共有 10种组合 ,运行程序 ,要按下面的
27、格式输出: 请用递归算法实现。【4、 94】 从键盘输入十个整数,用合并排序法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。【4、95】编写程序 ,读入一个以符号 、结束的长度小于20 字节的英文句子,检查其就是否为回文 (即正读与反读都就是一样的,不考虑空格与标点符号)。例如 : 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 20 页 - - - - - - - - - - C语言编程题读入句子 :MADAM IM ADAM、 它就是回文 ,所以输出 :YES 读入句子 :
28、ABCDBA) 、 它不就是回文 ,所以输出 :NO 【4、 96】编写程序 ,其中包括一个函数,此函数的功能就是:对一个长度为N 的字符串从其第 K 个字符起 ,删去 M 个字符 ,组成长度为N-M 的新字符串 (其中 N、M=80,K=N) 。例如输入字符串 We are poor students、,利用此函数进行删除poor 的处理 ,输出处理后的字符串就是 We are students、。【4、97】编写函数 ,通过指针将一个字符串反向。【4、98】编写一个函数insert(s1,s2,ch),实现在字符串s1中的指定字符ch 位置处插入字符串 s2。【4、99】编写程序将输入的两
29、行字符串连接后,将串中全部空格移到串首后输出。【4、100】编写程序 ,输入字符串 ,分别统计字符串中所包含的各个不同的字符及其各自字符的数量。如 :输入字符串 : abcedabcdcd 则输出 :a=2 b=2 c=3 d=3 e=1。上一页下一页【4、101】利用结构 :struct complx int real; int im; ; 编写求两个复数之积的函数cmult,并利用该函数求下列复数之积: (3+4i) (5+6i) (10+20i) (30+40i 【4、102】编写成绩排序程序。按学生的序号输入学生的成绩,按照分数由高到低的顺序输出学生的名次、该名次的分数、相同名次的人数
30、与学号;同名次的学号输出在同一行中,一行最多输出10 个学号。【4、103】编写程序 ,实现输入的时间屏幕显示一秒后的时间。显示格式为HH:MM:SS 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 20 页 - - - - - - - - - - C语言编程题程序需要处理以下三种特殊情况: 若秒数加 1 后为 60,则秒数恢复到0,分钟数增加1; 若分钟数加1 后为 60,则分钟数恢复到0,小时数增加1; 若小时数加1 后为 24,则小时数恢复到0。【4、104】编写程序 ,从键盘输入3 个学生的数据 ,将它们存入文件student;然后再从文件中读出数据 ,显示在屏幕上。【4、 105】编写程序 ,从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。【4、106】编写程序 ,读入磁盘上语言源程序文件test8、c,删去程序中的注释后显示。上一页下一页精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 20 页 - - - - - - - - - -