文档详情

matlab练习题与解答(初级者).pdf

发布:2017-05-06约2.56千字共4页下载文档
文本预览下载声明
编程练习题 1.有一组学生的考试成绩(见表),根据规定,成绩在100分时为满分,成绩在 90-99之间时为优秀,成绩在80-89之间时为良好,成绩在60-79之间时为及格, 成绩在60 分以下为不及格,编制一个根据成绩划分等级的程序。 学生姓名 王 张 刘 李 陈 杨 于 黄 郭 赵 成绩 72 83 56 94 100 88 96 68 54 65 clc;clear; A=[王,张,刘,李,陈,杨,于,黄,郭,赵; 72, 83, 56, 94, 100, 88, 96, 68, 54, 65]; B=[72, 83, 56, 94, 100, 88, 96, 68, 54, 65]; for i=1:10 index=A(2,i)/10; switch floor(index) case 10 disp([A(1,i),:]);disp(B(i));disp(满分); case 9 disp([A(1,i),:]);disp(B(i));disp(优秀); case 8 disp([A(1,i),:]);disp(B(i));disp( 良好); case {6,7} disp([A(1,i),:]);disp(B(i));disp(及格); case {0,1,2,3,4,5} disp([A(1,i),:]);disp(B(i));disp(不及格); otherwise disp(invalid input); end end 2. 判断某一年是否为闰年。 算法为: 年数可以被4 整除为闰年。 年数被100 整除却不能被400 整除的为平年。 年数被100 整除也可以被400 整除的为闰年。 答案: 只需要掌握if else 用法; 3. 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。试编写 程序找到并输出全部水仙花数。 解答: clear;clc; for i=100:999 a=mod(i,10); b=mod(floor(i/10),10); c=floor(i/100); sum=a^3+b^3+c^3; if i==sum disp(i); disp(是水仙花数); end end 4. 从键盘输入若干个数,当输入0 时结束输入,求这些数的平均值和它们之和。 clear;clc; i=1; t=input(please input:); while t~=0 n(i)=t; t=input(please input:); i=i+1; end disp(平均值:); mean(n) disp(和:) sum(n) 5. 求[100,200]之间第一个能被21 整除的整数。 解答: clear;clc; i=100; while i201 if mod(i,21)==0 disp(第一个被21 整除的数:); disp(i); i=200; end i=i+1; end 6.若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6 是 完数。求[1,500]之间的全部完数。 解答: clear;clc; for i=1:500 sum=0; j=1; while j=i/2 if mod(i,j)==0 sum=sum+j; end j=j+1; end if sum==i disp(i); disp(是完数); end end 7. 利用while 循环,求1+3+5+‥‥+99 的值。 这个比较简单就不解答了。 8.用if 与break 命令结合,停止while 循环,计算1+3+5+‥‥+100 的值,当和 大于1000 时终止计
显示全部
相似文档