程序练习题1
1.函数fun1的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放
在t所指的数组中。
例如,若s所指字符串中的内容为:"ABCDEFG12345",其中字符B的ASCII码值为偶数、…、字符2的ASCII码值为偶数、…都应当删除,其它依此类推。
最后y的内容应是:"ACEG135"。
function y=fun1(s)
2.假定输入的字符串中只含有字母和*号。请编写函数fun2,它的功能是:将字符串尾部的*号全部删
除,前面和中间的*号不删除。
例如。字符串的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是:function y=fun2(s)
3.请编写函数fun3, 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。规定所有单词
由小写字母组成, 单词之间由若干个空格隔开。
function y=fun3(s)
4.编写函数fun4,函数的功能是求出小于或等于n的所有素数并放在y中, 函数返回所求出的素数y
和其个数k。
function [y,k]=fun4(n)
5.编写函数fun5,它的功能是计算:
y=
y作为函数值返回。
function y=fun5(m)
6.请编写函数fun6, 函数的功能是: 删去一维数组中所有相同的数, 使之只剩一个。数组中的数已按
由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如:
一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。
删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。
function y=fun6(s)
7.请编写函数fun7,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在s
数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1],把20至29岁年龄段的人数放在d[2],其余以此类推,把100岁(含100)以上年龄的人数放在d[10]中。结果在函数中输出。
已知 s=round(rand(1,100)*120)
function y=fun7(s)
8.请编写一个函数fun8,它的功能时:将ss所指字符串中所有下标为奇数位置上的字母转换为大些
(该位置上不是字母,则不转换)。
例如,若输入"abc4EFg",则应输出"aBc4EFg"。
function y=fun6(s)
9. 请编写函数fun9,函数的功能是:求出矩阵所有元素的平均值并作为函数值在函数中输出。
例如:a 矩阵的值为 a = 141952
86541
38325
47919
7210 则返回主程序后s 的值应为: 3.375。
function y=fun9(a)
10. 请编写函数fun10, 函数的功能是: 将M 行N 列的字符矩阵中的字符数据, 按行的顺序依次放到一
个字符串中,然后将不是字符的删除。
例如, 二维矩阵s 中的数据为:
3 W S H
T 5 V A
C D 4 E
则字符串中的内容应是: WSHTVACDE 。
function y=fun10(s)
11. 请编写函数fun11, 函数的功能是: 移动字符串中的内容, 移动的规则如下: 把第1个字符移到第m
个字符, 把第2到第m+1个字符,若第k 到字符已移到字符串的最后, 则第k+1到最后的字符移到字符串的前部。
例如, 字符串中原有的内容为: ABCDEFGHIJK, m 的值为3。
则移动后, 字符串中的内容应该是: IJKABCDEFGH 。
function y=fun11(s)
12. 请编写函数fun12, 其功能是: 计算并输出给定10个数的方差
:
y = (即:10个数的平均数) (其中∑=='101101k k x x )
例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,
输出为y=11.730729。
function y=fun11(s)
13. 请编写函数fun13,函数的功能是求出矩阵a 所有元素之和,作为函数值返回。
例如:矩阵a 的值为:075318
9996499929
7531,则函数值为61。
function y=fun13(a)
14. 编写函数fun14,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。
)cos(1n n x x =+
迭代步骤如下:
(1)取 x1 初值为a ;
(2)x0 = x1,把x1的值赋给 x0;
(3)x1 = cos(x0),求出一个新的x1;
(4)若x0 - x1的绝对值小于 0.000001,执行步骤(5),否则执行步骤(2);
(5)所求x1就是方程 cos(x)-x=0 的一个实根,作为函数值返回。
程序将输出结果Root=0.739085。
已知a=0
function y=fun14(a)
15. 函数fun15的功能是:将两个两位数的正整数a 、b 合并形成一个整数放在c 中。合并的方式是:将
a 数的十位和个位数依次放在c 数的千位和十位上,
b 数的十位和个位数依次放在
c 数的百位和个位上。
例如,当a =45,b=12。调用该函数后,c=4152。
function y=fun15(a,b)
16. 请编写一个函数fun16,统计在tt 字符串中 'a' 到 'z' 26个字母各自出现的次数,并依次放在
pp 所指数组中。
例如,当输入字符串:abcdefgabcdeabc 后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
function y=fun16(s)
17. 请编写函数fun17,函数的功能是:使矩阵左下三角元素中的值乘以n 。
例如:若n 的值为3,a 数组中的值为 a = 6548
327
91,则返回主程序后a 数组中的值应为 18
1512896793 function y=fun17(a)
18.请编写函数fun18, 它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之
和。
例如,在主函数中从键盘给n输入20后, 输出为: s=0.583333。
注意:要求n的值不大于100。
function y=fun18(n)
19.请编写函数fun19, 函数的功能是: 判断字符串是否为回文? 若是, 函数返回1,主函数中输出: YES,
否则返回0, 主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如, 字符串LEVEL是回文, 而字符串123312就不是回文。
function y=fun19(s)
20.请编写函数fun20,它的功能是: 求出 1 到 1000 之内能被 7 或11整除、但不能同时被 7 和 11
整除的所有整数并将它们放在 a所指的数组中,通过 n 返回这些数的个数。
function y=fun20(s)