(优雅的使用)matlab脚本编程习题2

matlab脚本编程习题2

  1. 输入一个四位整数,求出各位数字之和,如果该和能被3整除,输出“这个数可以被3整除”,否则输出“这个数不可以被3整除”。
num=input('input the four-digit integer:\n');
A=zeros(1,4);
for i=1:4
    A(i)=floor(mod(num,10));
    num=num/10;
end  
sum=0;
for i=1:4
    sum=sum+A(i);
end
fprintf('各位数之和为%d\n',sum);
if mod(sum,3)==0
    fprintf('这个数可以被3整除');
else
    fprintf('这个数不可以被3整除');
end

  1. 输入一个字符,如果是大写字母,输出其后继字符及其ASCII值,如果不是大写字母,原样输出。例如,输入字符B,输出“字母B的后继字符为C,对应的ASCII码值为67”,注意字母Z的后继字符为A。

判断的部分可以直接改成c>=‘a’ && c<‘z’ 就不用查ascii码表了

c=input('input the character:\n','s');
x=abs(c);
if x>=65 && x<90
    x=x+1;
    fprintf('字母%c的后继字符为%c,对应的ascii码值为:%d\n',c,x,x);
elseif x==90
        x=65;
        fprintf('字母%c的后继字符为%c,对应的ascii码值为:%d\n',c,x,x);
else 
    fprintf('输入字符%c',c);
end

  1. 输入一个小于10000的整数,求出是几位数并且逆序输出。例如,输入123,输出“该数为3位整数,其逆序数为321”。

用了比较笨的方法,有大佬会更简单的方法可以在评论区交流~
注意matlab数组初始化时,zeros函数生成的是一个矩阵
如zeros(4)生成的是4*4矩阵,要考虑维度问题

num=input('input a number < 10000:\n');
count=0;
A=zeros(1,4);
while true
    A(count+1)=floor(mod(num,10));
    num=num/10;
    count=count+1;
    if num<1
        break;
    end
end
fprintf('该数为%d位整数,其逆序数为',count);
for i=1:count
    fprintf('%d',A(i));
end

  1. 在编辑窗口中:输入学生成绩,输出该成绩的等级。等级规定如下:[90,100]为A等,[80,90)为B等,[70,80)为C等,[60,70)为D等,[0,60)为E等。

问就是自己找规律摸出来的

grade=input('input the grade:\n');
c=65;   %A
c=c+floor(abs(grade-99)/10);
if grade<60
    c=69;
end
fprintf('%c',c);

  1. 商场购物,100件以下,不优惠,100199件95折,200399件90折,400799件85折,8001499件80折,1500件以上,75折。输入所购货物的单价、件数,求实际付款数目

switch语句会更好看一些

uprice=input('请输入货物单价:\n');
num=input('请输入件数:\n');
if num<100
    zhekou=1;
elseif num>=100 && num<=199
    zhekou=0.95;
elseif num>=200 && num<=399
    zhekou=0.9;
elseif num>=400 && num<=799
    zhekou=0.85;
elseif num>=800 && num<=1499
    zhekou=0.8;
else
    zhekou=0.75;
end
total=zhekou*uprice*num;
fprintf('实际付款%.4f元',total);
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值