作者:mobiledu2502932447 | 来源:互联网 | 2023-10-13 04:34
实验目的:1、掌握建立和执行M文件的方法;2、掌握实现选择结构的方法;3、掌握实现循环结构的方法。实验内容:1.从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加
实验目的:
1、掌握建立和执行M文件的方法;
2、掌握实现选择结构的方法;
3、掌握实现循环结构的方法。
实验内容:
1.从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
num=input('');
n1=fix(num/1000);
n2=rem(fix(num/100),10);
n3=rem(fix(num/10),10);
n4=rem(num,10);
a1=rem(n3+7,10);
a2=rem(n4+7,10);
a3=rem(n1+7,10);
a4=rem(n2+7,10);
disp(a1*1000+a2*100+a3*10+a4);
2.求分段函数的值。
用if语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y值。
x=[-5; -3; 0; 1; 2; 2.5; 3; 5];
if x<0 & x~=-3
y=x.*x+x-6
elseif x>=0 & x<5 & x~=2 & x~=3
y=x.*x-5*x+6
else
y=x.*x-x-1
end
3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。
要求:
(1)分别用if语句和swich语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
grade=input('');
while grade<0 || grade>100 || ischar(grade)
disp('输入错误');
end
if grade>=90 && grade<=100
disp('A');
elseif grade>=80 && grade<=89
disp('B');
elseif grade>=70 && grade<=79
disp('C');
elseif grade>=60 && grade<=69
disp('D');
else
disp('E');
end
switch fix(x/10)
case {9,10}
disp('A');
case 8
disp('B');
case 7
disp('C');
case 6
disp('D');
otherwise
disp('E');
end
4.硅谷公司员工的工资计算方法如下:
(1)工作时数超过120小时者,超过部分加发15%;
(2)工作时数低于60小时者,扣发700元;
(3)其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
x=input('工号','s');
y=input('工时');
if y>=120
disp(84*y+(y-120)*84*0.15);
elseif y>=0 && y<60
disp(84*y-700);
else
disp(84*y);
end
5.设计程序,完成两位数的加、减、乘、除四则运算。即:输入两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
a=input('两位数:');
b=input('两位数:');
op=input('运算符(+ - * /):','s');
switch op
case '+'
disp(a+b);
case '-'
disp(a-b);
case '*'
disp(a*b);
case '/'
disp(a/b);
end
6.建立5×6矩阵,要求输出矩阵的第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵的最后一行元素,并给出出错信息。
a=ones(5,6);
a(2,:)=a(2,:)+1;
a(3,:)=a(3,:)+2;
a(4,:)=a(4,:)+3;
a(5,:)=a(5,:)+4;
b=input('行:');
try
a(b,:)
catch
a(end,:)
disp(['输入错误']);
end
7.产生20个两位随机整数,输出其中小于平均数的偶数。
x=fix(randn(1,20)*10)
ave=mean(x);
for i=1:20
if(x(i)disp(x(i));
end
end