1、习题三3-2 从键盘输入一个三位整数,将它反向输出。如输入639,输出为936程序如下:m=input(请输入一个三位整数:);m1=fix(m/100);%求m得百位整数m2=rem(fix(m/10),10);%求m得十位数字m3=rem(m,10);%求m得个位数字m=m3*100+m2*10+m1%反向输出m3-3 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。 要求:(1)分别用if语句与switch语句实现。 (2)输入百分制成绩后要判断该成绩得合理性,对不合理得成绩应输出出错信息。程序
2、如下:(1)if语句 c=input(请输入成绩:);if c=90&c=80&c=70&c=60&c=69 disp(D 成绩合理);elseif c5|n0 b=a(5:5,:); disp(输入行数错误,程序输出最后一行:,num2str(b)else c=a(n:n,:); disp(输出结果为:,num2str(c)end3-5 产生20个两位随机整数,输出其中小于平均值得偶数。程序如下:x=fix(rand(1,20)*89)+10;x1=fix(sum(x)/20);disp(平均数就是: ,num2str(x1)m=(rem(x,2)=0&xa(1,i) m=a(1,i) en
3、dendmin函数function n=min(a)m=a(1,20);for i=2:20 if n 当n等于100时: 1、635当n等于1000时: 1、6439当n等于10000时: 1、6448(2) 1-1/3+1/5-1/7+(=pi/4)程序如下:clear all n=1:100; b=1、/(4、*n-3)-1、/(4、*n-1); c=sum(b);disp(当n等于100时: ,num2str(c) n=1:1000; b=1、/(4、*n-3)-1、/(4、*n-1); c=sum(b);disp(当n等于1000时: ,num2str(c) n=1:10000; b
4、=1、/(4、*n-3)-1、/(4、*n-1); c=sum(b);disp(当n等于10000时: ,num2str(c)结果: 当n等于100时: 0、78415当n等于1000时: 0、78527当n等于10000时: 0、78539(3)1/4+1/16+1/64+1/4n+(=1/3)程序如下:clear alln=1:100;b=1、/(4、n);c=sum(b);disp(当n等于100时: ,num2str(c)n=1:1000;b=1、/(4、n);c=sum(b);disp(当n等于1000时: ,num2str(c)n=1:10000;b=1、/(4、n);c=sum(
5、b);disp(当n等于10000时: ,num2str(c)结果: 当n等于100时: 0、33333当n等于1000时: 0、33333当n等于10000时: 0、33333(4)(2n)(2n)/(2n-1)(2n+1)(=pi/2)程序如下:clear alln=1:100;b=(2*n)、*(2*n)、/(2*n-1)、*(2*n+1);c=prod(b);disp(当n等于100时: ,num2str(c)n=1:1000;b=(2*n)、*(2*n)、/(2*n-1)、*(2*n+1);c=prod(b);disp(当n等于1000时: ,num2str(c)n=1:10000;
6、b=(2*n)、*(2*n)、/(2*n-1)、*(2*n+1);c=prod(b);disp(当n等于10000时: ,num2str(c)结果: 当n等于100时: 1、5669当n等于1000时: 1、5704当n等于10000时: 1、57083-9若两个连续自然数得乘积减1就是素数,则称这两个连续自然数就是亲密数对,该素数就是亲密素数。例如,2*3-1=5,由于5就是素数,所以2与3就是亲密数对,5就是亲密素数。求2,50区间内:(1)亲密数对得对数。(2)与上述亲密数对对应得所有亲密素数之与。程序如下:clear allp=0;l=0;H=;for m=2:49 a=m; b=m+
7、1; c=a*b-1; for k=1:c if rem(c,k)=0 l=l+1; endendif l=2 disp(亲密数对就是,(,num2str(a),num2str(b),) p=p+1; H=H,c;endl=0;endsum=sum(H);disp(亲密数对得个数就是:,num2str(p)disp(亲密数对得与就是: ,num2str(sum)3-10 根据y=1+1/3+1/5+1/(2n-1),求:(1)y3&(sum-1/(2*n-1)3 disp(n-1) disp(sum-1/(2*n-1) endend方法2clear alln=1;y=0;while(y3) x
8、=1/(2*n-1); n=1+n; y=y+x;enddisp(y3时n得最大值就是: ,num2str(n-2)disp(相应得y值就是: ,num2str(y-x)3-12 编写一个函数文件,用于求两个矩阵得乘积与点乘,然后在命令文件中调用该函数。程序如下:mul函数 %用于求两个矩阵得乘积与点乘function x,y=mul(a,b)x=a*b;y=a、*b;main%主函数a=input(请输入一个矩阵:);b=input(请再输入一个矩阵:(注意:两矩阵要可以相乘); x,y=mull(a,b);disp(这两个矩阵得乘积为:);xdisp(这两个矩阵得点乘为:);y3-14 先用函数得递归调用定义一个函数文件求I,然后调用该函数文件求k+k2+1/k程序如下:定义一个求与函数:function sum=add(n,m)if n1 sum=0;else sum=nm+add(n-1,m);end主函数:clear ally=add(100,1)+add(50,2)+add(10,-1);disp(y)