C语言寒假编程题.docx
《C语言寒假编程题.docx》由会员分享,可在线阅读,更多相关《C语言寒假编程题.docx(14页珍藏版)》请在冰豆网上搜索。
C语言寒假编程题
【】编写程序,在屏幕上绘制如图余弦曲线和直线。
若屏幕的横向为x轴,纵向为y轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。
其中cos图形用"*"表示,f(y)用"+"表示,在两个图形的交点处则用f(y)图形的符号。
【】编写程序,输出如图所示高度为n的图形。
【】编写程序,输出如图所示高度为n的图形。
【】输入n值,输出如图所示图形。
【】输入n值,输出如图所示的n×n(n<10)阶螺旋方阵。
12345
161718196
152425207
142322218
131211109
图n=5时的螺旋方阵
【】输入n值,输出如图所示回型方阵。
【】输出如图所示的数字金字塔
【】输入n值,输出如图所示图形。
【】输入顶行字符和图形的高,输出如图所示图形。
【】输入首字符和高后,输出如图所示回型方阵。
AAAAA
ABBBA
ABCBA
ABBBA
AAAAA
图首字符为'A'、高为5的方阵
【】输入中心字符和高后,输出如图所示回型方阵。
XXXXX
XYYYX
XYZYX
XYYYY
XXXXX
图中心字符为'Z'、高为5的方阵
【】编写程序,输出如图所示上三角形式的乘法九九表。
【】编写程序,输出如图所示下三角乘法九九表。
【】编写程序,输入三角型的三条边长,求其面积。
注意:
对于不合理的边长输入要输出数据错误的提示信息。
【】编写程序求出555555的约数中最大的三位数是多少。
【】编写程序计算下列算式的值:
直到某一项A<=时为止。
输出最后C的值。
【】从键盘输入任意的字符,按下列规则进行分类计数。
第一类'0','1','2','3','4','5','6','7','8','9'
第二类'+','-','*','/','%','='
第三类其它字符
当输入字符'\'时先计数,然后停止接收输入,打印计数的结果。
【】对从键盘上输入的行、单词和字符进行计数。
咱们将单词的概念进行化简,以为单词是不包括空格、制表符(\t)及换行符的字符序列。
例如:
"a+b+c",以为是1个单词,它由5个字符组成。
又如:
"xyabc",为2个单词,6个字符。
一般用[CTRL+D]作为文件结束标记,其字符码值为-1,当输入[CTRL+D]时表示文件输入结束,停止计数。
【】编写程序计算当x=时下述级数和的近似值,使其误差小于某一指定的值epsilon(例如:
epsilon=):
【】编写程序计算下式的值:
【】编写程序计算下列序列的值:
要求最后一项小于时、或当N=20时尚未达到精度要求,则停止计算。
【】已知求正弦sin(x)的近似值的多项式公式为:
编写程序,要求输入x和ε,按上述公式计算sin(x)的近似值,要求计算的误差小于给定的ε。
【】从键盘输入十个整数,用插入法对输入的数据依照从小到大的顺序进行排序,将排序后的结果输出。
【】输入一个正整数,要求以相反的顺序输出该数。
例如输入12345,输出位54321。
【】编写程序,读入一个整数N;若N为非负数,则计算N到2×N之间的整数和;若N为一个负数,则求2×N到N之间的整数和。
别离利用for和while写出两个程序。
【】求解爱因斯坦数学题。
有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。
请问,这条阶梯共有多少阶?
【】一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。
又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。
编写程序求这个自然数。
【】编写程序,用二分法求一元二次方程2x3-4x2+3x-6=0在(10,10)区间的根。
【】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。
请编写一程序,采用割圆法求出π的值,要求精准到小数点以后的第十位。
【】A、B、C、D、E五人在某天夜里合股去打鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
C、D、E依次醒来,也按一样的方式拿鱼。
编写程序求出他们合股至少捕了多少条鱼。
【】一辆卡车违犯交通规则,撞人逃跑。
现场三人目击事件,但都没记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;乙说:
牌照的后两位数字是相同的;丙是位数学家,他说:
四位的车号恰好是一个整数的平方。
请按照以上线索求出车号。
【】若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。
【】100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。
试编写程序计算大、中、小马的数量。
【】编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方式。
【】显示200之内的完全平方数和它们的个数。
(完全平方数:
A2+B2=C2,求A、B、C)
【】设N是一个四位数,它的9倍恰好是其反序数(例如:
123的反序数是321),求N的值。
【】将一个数的数码倒过来所取得的新数叫原数的反序数。
若是一个数等于它的反序数,则称它为对称数。
求不超过1993的最大的二进制的对称数。
【】编写程序求解下式中各字母所代表的数字。
PEAR
-ARA
───────
PEA
【】一个自然数的七进制表达式是一个三位数,而那个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,求那个三位数。
【】请验证2000之内的哥德巴赫猜想,对于任何大于4的偶数均能够分解为两个素数之和。
【】若是一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
如407=43+03+73就是一个阿姆斯特朗数。
编写程序求1000之内的所有阿姆斯特朗数。
【】任意输入一个偶数,请将它分解为两个素数之和。
【】若是整数A的全数因子(包括1,不包括A本身)之和等于B;且整数B的全数因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。
求3000之内的全数亲密数。
【】猜数游戏。
由运算机"想"一个数请人猜,若是人猜对了,则结束游戏,不然运算机给出提示,告知人所猜的数是太大仍是过小,直到人猜对为止。
运算机记录人猜的次数,以此能够反映出猜数者"猜"的水平。
【】编写程序求出1000!
后有多少个零。
【】求矩阵A[2*3]的转置矩阵B[3*2]。
设矩阵A为:
┏123┓┏14┓
A=┃┃B=┃25┃
┗456┛┗36┛
【】十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。
然后所有的小孩同时将自己手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。
问通过如此几回调整后大家手中的糖的块数都一样?
每人各有多少块糖?
【】输入5×5的数组,编写程序实现:
(1)求出对角线上各元素的和;
(2)求出对角线上行、列下标均为偶数的各元素的积;
(3)找出对角线上其值最大的元素和它在数组中的位置。
【】编写程序,以字符形式输入一个十六进制数,将其变换为一个十进制整数后输出。
【】编写程序,输入一个十进制整数,将其变换为二进制后贮存在一个字符数组中。
【】编写程序,输出1000之内的所有完数及其因子。
所谓完数是指一个整数的值等于它的因子之和,例如6的因子是一、二、3,而6=1+2+3,故6是一个完数。
【】对数组A中的N(0<N<100=个整数从小到大进行持续编号,输出各个元素的编号。
要求不能改变数组A中元素的顺序,且相同的整数要具有相同的编号。
例如数组是:
A=(5,3,4,7,3,5,6)则输出为:
(3,1,2,5,1,3,4)
【】现将不超过2000的所有素数从小到大排成第一行,第二行上的每一个数都等于它"右肩"上的素数与"左肩"上的素数之差。
请编程求出:
第二行数中是不是存在如此的若干个持续的整数,它们的和恰好是1898?
假设存在的话,又有几种如此的情形?
第一行:
2357111317.....197919871993 第二行:
122424.....86
【】将一、二、3、4、五、六、7、八、9九个数字分成三组,每一个数字只能用一次,即每组三个数不准有重复数字,也不准同其它组的三个数字重复,要求将每组中的三位数组成一个完全平方数。
【】一个自然数的七进制表达式是一个三位数,而那个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,求那个三位数。
【】利用数组精准计算M/N(0若是M/N是无穷循环小数,则计算并输出它的第一循环节,同时要求输出循环节的起止位置(小数的序号)。
为了实现高精度计算结果,可将商M寄存在有N(N>1)个元素的一维数组中,数组的每一个元素寄存一名十进制数,即商的第一名寄存在第一个元素中,商的第二位寄存在第二个元素中……,依次类推。
如此可利用数组来表示计算的结果。
【】利用数组完成两个超长(长度小于100)正整数的加法。
为了实现高精度的加法,可将正整数M寄存在有N(N>1)个元素的一维数组中,数组的每一个元素寄存一名十进制数,即个位寄存在第一个元素中,十位寄存在第二个元素中……,依次类推。
如此通过对数组中每一个元素的按位加法就可实现对超长正整数的加法。
【】利用数组完成两个超长(长度小于100)正整数的加法。
为了实现高精度的加法,可将正整数M寄存在有N(N>1)个元素的一维数组中,数组的每一个元素寄存一名十进制数,即个位寄存在第一个元素中,十位寄存在第二个元素中……,依次类推。
如此通过对数组中每一个元素的按位加法就可实现对超长正整数的加法。
【】利用数组完成两个超长(长度小于100)正整数的乘法。
【】马步遍历问题:
已知国际象棋棋盘有8*8共64个格子。
设计一个程序,使棋子从某位置开始跳马,能够把棋盘上的格子走遍。
每一个格子只允许走一次。
【】八皇后问题:
在一个8×8的国际象棋盘,有八个皇后,每一个皇后占一格;要求棋盘上放上八个皇后时不会出现彼此"解决"的现象,即不能有量个皇后在同一行、列或对角线上。
问共有多少种不同的方式。
【】编制一个计算函数y=f(x)的值程序,其中:
-x+0<=x<2
y=2-(x-3)*(x-3)2<=x<4
x/2-4<=x<6
【】编写程序,实现比较两个分数的大小。
【】求如此一个三位数,该三位数等于其每位数字的阶乘之和。
即:
abc=a!
+b!
+c!
【】已知两个平方三位数abc和xyz,其中数码a、b、c、x、y、z未必是不同的;而ax、by、cz是三个平方二位数。
编写程序,求三位数abc和xyz。
任取两个平方三位数n和n1,将n从高向低分解为a、b、c,将n1从高到低分解为x、y、z。
判断ax、by、cz是不是均为完全平方数。
【】找出一个二维数组中的鞍点,即该位置上的元素是该行上的最大值,是该列上的最小值。
二维数组也可能没有鞍点。
【】将数字一、二、3、4、五、6填入一个2行3列的表格中,要使得每一列右边的数字比左侧的数字大,每一行下面的数字比上面的数字大。
编写程序求出按此要求可有几种填写方式?
【】编写一个函数实现将字符串str1和字符串str2归并,归并后的字符串按其ASCII码值从小到大进行排序,相同的字符在新字符串中只出现一次。
【】已知计算x的n阶勒让德多项式值的公式如下:
1(n=0)
Pn(x)=x(n=1)
((2n-1)*x*Pn-1(x)-(n-1)*Pn-2(x))/n(n>1)
请编写递归程序实现。
【】编写函数,采用递归方式实现将输入的字符串按反序输出。
【】编写函数,采用递归方式在屏幕上显示如下杨辉三角形:
1
11
121
1331
14641
15101051
…… …… …… …… ……
【】编写函数,采用递归方式将任一整数转换为二进制形式。
【】设有字母a、b、c,请编程用递归的方式产生由这些字母组成的,且长度为n的所有可能的字符串。
例如,输入n=2,则输出:
aa ab ac babbbccacbcc
【】将一个数的数码倒过来所取得的新数,叫作原数的反序数,若是一个数等于它的反序数,则称它为对称数。
编写程序,采用递归算法求不超过1993的最大的二进制的对称数。
【】从1到n(n<1000)个自然数当选出r个数进行组合,并按指定的格式输出组合的结果。
例如:
n=5,r=3时,共有10种组合,运行程序,要按下面的格式输出:
123
4
5
34
5
45
234
5
45
345
请用递归算法实现。
【】从键盘输入十个整数,用归并排序法对输入的数据依照从小到大的顺序进行排序,将排序后的结果输出。
【】编写程序,读入一个以符号"."结束的长度小于20字节的英文句子,检查其是不是为回文(即正读和反读都是一样的,不考虑空格和标点符号)。
例如:
读入句子:
MADAMI'MADAM.它是回文,所以输出:
YES
读入句子:
ABCDBA).它不是回文,所以输出:
NO
【】编写程序,其中包括一个函数,此函数的功能是:
对一个长度为N的字符串从其第K个字符起,删去M个字符,组成长度为N-M的新字符串(其中N、M<=80,K<=N)。
例如输入字符串"Wearepoorstudents.",利用此函数进行删除"poor"的处置,输出处置后的字符串是"Wearestudents."。
【】编写函数,通过指针将一个字符串反向。
【】编写一个函数insert(s1,s2,ch),实此刻字符串s1中的指定字符ch位置处插入字符串s2。
【】编写程序将输入的两行字符串联接后,将串中全数空格移到串首后输出。
【】编写程序,输入字符串,别离统计字符串中所包括的各个不同的字符及其各自字符的数量。
如:
输入字符串:
abcedabcdcd
则输出:
a=2b=2c=3d=3e=1。
【】利用结构:
structcomplx
{intreal;
intim;
};
编写求两个复数之积的函数cmult,并利用该函数求下列复数之积:
⑴(3+4i)×(5+6i)⑵(10+20i)×(30+40i
【】编写成绩排序程序。
按学生的序号输入学生的成绩,依照分数由高到低的顺序输出学生的名次、该名次的分数、相同名次的人数和学号;同名次的学号输出在同一行中,一行最多输出10个学号。
【】编写程序,实现输入的时刻屏幕显示一秒后的时刻。
显示格式为HH:
MM:
SS。
程序需要处置以下三种特殊情形:
⑴若秒数加1后为60,则秒数恢复到0,分钟数增加1;
⑵若分钟数加1后为60,则分钟数恢复到0,小时数增加1;
⑶若小时数加1后为24,则小时数恢复到0。
【】编写程序,从键盘输入3个学生的数据,将它们存入文件student;然后再从文件中读出数据,显示在屏幕上。
【】编写程序,从键盘输入一行字符串,将其中的小写字母全数转换成大写字母,然后输出到一个磁盘文件"test"中保留。
【】编写程序,读入磁盘上C语言源程序文件"",删去程序中的注释后显示。
删去程序中的注释后显