附加题
1.编程序求 5X+2Y+Z=50 的所有非负整数解。
2.有一长度不大于40的字符串,已知其中包含两个字符“A”,求处于这两个字符
“A”中间的字符个数,并把这些字符依次打印出来。
3.把25个字母A、B 、C、···、X、Y按如下要求打印出来:从最中间的字母M
开始打印,然后一左一右依次打印出其它字母,即M,L,N,K,O,...。
要求:初始化时按字母表顺序赋值。
4.编一个程序,把一批非零整数中的偶数、奇数的平均值分别计算出来。用零作
为终止标记。
5.某单位排队形,开始排成3路纵队,末尾多出了2人。后改成5路纵队,末尾
又多出了3人,最后改成7路纵队,正好没有余数。编程序求出该单位至少有多少人。
6.将一个6×6数组的第一行、第六行、主对角线和副对角线上的元素都存入1,
其余的元素都存入-1。请编程序实现。
要求:1)不许对数组初始化。
2)尽量少用循环。
7.个位数是6,且能被3整除的五位数共有多少个。
8.求100至200之间能同时被6和8整除的数,把这些数打印出来,并且打印这
些数的和。
9.雨淋湿了一道算术题,9个数字现在只能认清4个(第一个数字虽模糊不清但肯
定不是1):
[ ×( 3 + )]2 = 8 9
请编程序出那些看不清的数字。
10.编程序计算下述函数在X=-7,-1,0,7时的值。
f x e
x
x x Ln x x
x
x x x x x
()
()
()()
()
() =
>≤-
+≤≤
=
⋅-<<≠⎧
⎨
⎪
⎪⎪
⎩
⎪
⎪
⎪
2
107
7410 00
740
或
c语言数组最大值最小值且
11.判断一个给定的5×5方阵是否以第3列为轴线对称?
12.编写一个函数JOIN,让它实现字符串连接运算功能。
13.编写函数IND,让它判断一个字符串是否为另一个字符串的子串的功能,若是则
返回第一次出现的起始位置,否则返回0。
14.编写一个函数,由参数传来一个字符串,分别求出此字符串中字母、数字和其
它字符(不包括空格)的个数,输入和输出均由主函数实现。
15.已知某年不是闰年,给定该年某一天的月份和日期,求这一天是该年的第几天。
16.规律,编程序打印6×6的矩阵:
1 2 3 5 8 13
1 4 9 17 30 51
1 6 19 45 9
2 173
. . .
17.有人说在400,401,402,...499这些数中4这个数字共出现112次,请编程序判
定这种说法是否正确。若正确请打印出'YES',否则打印出'NO'及4的出现次数。
18.设有8×8的二维数组a,其中每个元素取值如下:
当i=j 时a[i][j]=M (M是你的学号)
当i<j 时a[i][j]=i+j
当i>j 时a[i][j]=i×j
编程序求所有的数组元素之和。
19.3个数字,填在下面式子中,使等式成立。
6325 = 6325 ×(等号左边是五位)
①若答案有多个,则打印一组即可;
②若无满足条件的数字,则显示'NO DIGITALS'。
20.某航空公司规定:在旅游旺季7─9月份,若订票超过20张,优惠票价的15%,
20张以下,优惠5%;在旅游淡季1─5月、10月、11月份订票超过20张,优惠30%,20张以下,优惠20%;其余月份不优惠。请编程序能根据月份和旅客订票张数决定优惠率。
21.请编程序按如下格式打印一个直角三角形的九九乘法表:
1 2 3 4 5 6 7 8 9
4 6 8 10 12 14 16 18
9 12 15 18 21 24 27
16 20 24 28 32 36
25 30 35 40 45
36 42 48 54
49 56 63
64 72
81
22. 有一批实数,用零作终止标记。请编程序出这批数中的最大值及最小值,并
输出该最大值数是这批数中的第几个数(若最大值数多次出现,只打印出第一个的位置)。
又问:若打印出每个最大值数的位置,程序应如何修改?
23. 有10个两位整数,把这些数作以下变化,如果它是素数,则把它乘以2,若它
是偶数则除以2,其余的数减1,请将变化后的10个数按从小到大的次序打印出来。
24. 已知有N 个无规律的正整数,请编程序求出其中的素数并打印出能被5整除的
数之积。
25. Bessel 函数Jn(X)有以下的递推关系:
J x n x
J x J x n n n +-=
+-1121()()() 并且已知 J x x
x J x x x x x 012()sin ()sin cos =
=- 编写程序,利用递推关系,由任意的n 和x ≠0求Jn(X)。
注:本程序不允许使用数组。
26. 把一个偶数位的数从当中分开成为两个数,这两个数的和的平方等于原数。如
(8+1)2=81,(20+25)2
=2025。求10至9999之间满足这样条件的数是哪些? 共有多少个?
27. 已知
Y COS COS COS COS X n n COS =((((()))))
个
计算Y n 的值,直到|Y n - Y n-1|<10-6
为止,并打印出此时共作了多少次COS 计
算。
提示:Y n +1=COS (Y n ),故本题适用于使用迭代法。
28. 已知有9个数,请求出这些数中的最大值、最小值及平均值,以及有多少个数
等于平均值?
29. 求二维数组中每行元素的平均值,不许引入其它的数组。
30. 编程序计算函数
P(x)=b 0x n + b 1x n -1 + ... + b n-1x + b n
的值。要求先将X 的各项系数先输入到数组B 中,然后再用循环结构求P(X)的值。
31. 猜号码∶由随机函数产生一个1至1000之间的整数,让人猜之。计算机仅回答
人猜的数大、小还是相等,当人猜对时,由计算机打印出人一共猜了几次。
32. 编程序将一个正整数写成其它两个正整数的平方和,若不能成立时输出“NO ”。
例如
5 = 12 + 22 , 25 = 32 + 42
33. 将一个一维数组中的偶数依次交换。例如有8个元素, 若其中第1、4、5三元
素是偶数时应按下图交换。
34. 编程序将一个6×6的二维数组左下三角部分全赋值为-1,右上三角全赋值为1,
主对角线(行,列下标相同)上的元素送入2。把数组中的值按列对齐方式输出。要求: 不允许使用scanf 函数。
35. 用随机函数求出10组三位正整数,每组十个数,调用一函数打印出每组数,并
编一函数求出每组中的最大数。
36. 已知有如下递推公式
P P x P y y P y y
P n n n 12121
211===
-----
求该数列的前n 项。不允许使用数组。
37. 已知有三个数组A,B,C ,A 为5行5列的二维数组,B 、C 为只有5个元素的一维
数组,键盘输入数据的顺序如下:
23,45,6,1,-3,4,5,233,456,0,3,56,78,-56,5,6,77,8,89,9,3,6,8,9,90
请编写程序,求出A 的各行之和放至数组B 的相应元素中,求出数组A 的各列之和放至数组C 的相应元素之中。程序的输出部分要按下边形式显示:
23 45 6 1 -3 72
4 5 233 456 0 698
3 56 78 -356 5 -214
6 77
7
8 8
9 9 889
3 6 8 9 90 116
39 889 333 199 101
38.假设a-1和a+1是大于10的素数,验证a3-4a可被120整除。编程序输入a的
值,判a-1和a+1是否为素数。若不是输出“NOT PRIME!”;若都是素数,再验证a3-4a是否可被120整除。
39.有n个整数,编程序将前面的各个数依次向后移动k个位置,最后k个数移到
最前边的k个位置(见下图,其中n=8,k=3)。
1 2 3 4 5 6 7 8
6 7 8 1 2 3 4 5
思考: 程序中不许引入其它数组。
40.将一个数M分解为质因数(M≠0)。
41.将一个整数(最多是10位数)从低位到高位打印出来,如该数是12345时,输
出应是54321(只占一行)。
42.写一个函数比较两个字符串,如果s1=s2,则返回值0;如果s1>s2,则返回值1;
如果s1<s2,则返回-1。
43.求n!的末尾有多少个零。可以通过检查n!含有多少个10的因数来求它末尾零
的个数。因为10=2×5,在n!中含有2的因数显然多于含有5的因数。
一种求n!中5的因数的个数的算法如下:
1) 输入正整数n;
2) 0=>k, n=>m;
3) 若m<5,转第5步,否则执行第4步;
4) m/5(取整)=>m, k+m=>k, 转第3步;
5) 输出k(n!末尾零的个数)。
44.分别输入N和M个数到数组A和数组B中。把只在其中一个数组中出现的那些
数送入到数组C中,并指出它们在A或B数组中的位置。
45.用记录来描述一个学生的成绩情况,内容包括:姓名、学号、数学成绩和PASCAL
成绩。要求对一个小组的10个学生的成绩进行统计处理:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论