实验《MATLAB程序设计》

1.输入三角形的三条边,求三角形的面积。如果输入的三个数不能构成三角形要求输出“不能构成一个三角形”这样的提示信息。(提示: area= √(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)

 a = input('请输入三角形的第一条边长: ');

b = input('请输入三角形的第二条边长:') ;

c = input('请输入三角形的第三条边长:');   

if a+b>c && a+c>b && b+c>a s= (a+b+c)/2;

area = sqrt(s*(s-a)*(s-b)*(s-c));   

fprintf('可以组成三角形,面积为: %f\n',area);

else fprintf('不能构成一个三角形\n');end

 

 2.编写一个程序计算下式,其中x的值为-10 到 10 之间,以0.5 为步长,使用循环语句加以实现。
y(x)= -3x'+5(x>=0);y(x)= 3x' +5(x < 0)

x=-10:0.5:10;for i=1:length(x)if x(i)<=0

y(i)=-x(i)^3+5

else

y(i)=x(i)^3+5

end

end

 

3.编写一程序,求出[100 1000]以内的全部素数。

for i = 100 : 1000  %外层循环,i的初值为100,终值为1000

    for j = 2 : 1000  %内层循环,j的初值为2,终值为1000

        if(~mod(i,j))  % i除以j取余后再取反

            break; % 跳出循环

        end

    end

    if(j > (i/j)) %检查是否有其他除数

        fprintf('%d is prime \n',i); %输出素数

    end

end

 

4.建立函数 count(x),其中x 为一个班的学生成绩,统计该班学生成绩,其中优秀:成绩>90,良好:80≤成绩<90,中等: 70≤成绩<80,及格:60≤成绩<70,不及格: 成绩<60,分别输出优秀、良好、中等、不及格的人数,要求有输入、输出提示语句。例如:
>> count
请输入该班学生成绩:
[34 67 98 89 78]
成绩优秀:2
%输出提示
%输入成绩
%输出结果
成绩良好:2
成绩中等:2
成绩及格:2
成绩不及格:1

function f=score()

z=0;

j=0;

k=0;

l=0;

s=0;

n=input('班级的总人数为;');

v='成绩优秀:%d人,成绩良好:%d,成绩中等:%d,成绩及格:%d,成绩不及格:%d,\n';

for i=1:n

    c=input('成绩是:');

switch 1<= c && c<=100

    case 90 <= c && c <= 100

      z=z+1;

       fprintf(v,z,j,k,l,s);

    case 80<= c && c<90

        j=j+1;

         fprintf(v,z,j,k,l,s);

    case 70<= c && c<80

        k=k+1;

         fprintf(v,z,j,k,l,s);

    case 60<= c && c<70

        l=l+1;

        fprintf(v,z,j,k,l,s);

    case 0<= c && c<60

        s=s+1;

        fprintf(v,z,j,k,l,s);    

end

end

 

 5.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用 price 来表示):
price<1000
没有折扣
1000≤price<20003%折扣
2000≤price<3000
3000≤price
5%折扣
8%折扣
输入所售商品的价格,求其实际销售价格(使用 switch 结构编程)。

price=input('请输入商品价格');

switch fix(price/100)     %截尾取整

   case {0,1}                         %价格小于200

      rate=0;

   case {2,3,4}                      %价格大于等于200但小于500

      rate=3/100;

   case num2cell(5:9)          %价格大于等于500但小于1000

      rate=5/100;

   case num2cell(10:24)      %价格大于等于1000但小于2500

      rate=8/100;

   case num2cell(25:49)      %价格大于等于2500但小于5000

      rate=10/100;

   otherwise                         %价格大于等于5000

      rate=14/100;

end

    price=price*(1-rate);          %输出商品实际销售价格

fprintf('%d\n',price );

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值