matlab 12-10

习题练习

判断成绩区间:小于60为E,70-60为D,70-80为C,80-90为B,90以上为A,用switch方法
解析:换算成小数(除以10就可以换算成小数),向下取整。

方法一

%小于60为E,60-79为D,70-79为C,80-89为B,90-100为A
clc
i=input('输入分数:');
i=i/10;
i=floor(i);
switch i
    case 10
        fprintf('A\n')
    case 9
        fprintf('A\n')
    case 8
        fprintf('B\n')
    case 7
        fprintf('C\n')
    case 6
        fprintf('D\n')
    otherwise

            fprintf('E\n')
    end

方法二

clc
clear
score = input('请输入成绩:');
s = floor(score/10);%通过将成绩/10再做一个向下取整,从而实现对成绩这个变量的离散化
switch s
    case 10
        fprintf('A\n')
    case 9
        fprintf('A\n')
    case 8
        fprintf('B\n')
    case 7
        fprintf('C\n')
    case 6
        fprintf('D\n')
    otherwise
        fprintf('E\n')
end

循环结构–for

这个2是步长值,表示循环间隔值
后面的10表示循环次数
在这里插入图片描述

在这里插入图片描述

案例一:用for循环语句写1+100

%计算1+2+3+...+100=?
clc
clear
s = 0;
for i = 1:100 %for语句会对循环变量进行赋初值的操作,同时指定循环变量的终值和步长值
    s = s+i;
end %end语句对循环变量做一个增加,用循环变量+步长值
fprintf('1+2+3+...+100=%d\n',s)

在这里插入图片描述

案例二:for+if写1+100

%计算1+2+3+...+100=?
clc
clear
s = 0;
for i = 1:100 %for语句会对循环变量进行赋初值的操作,同时指定循环变量的终值和步长值
    s = s+i;
end %end语句对循环变量做一个增加,用循环变量+步长值
fprintf('1+2+3+...+100=%d\n',s)

案例三:用while实现循环语句

while表示在不知道循环次数情况下可使用

%求1+2+3+...+101=?用while实现
clc
clear
i = 1;%i用来进行循环
s = 0;%s用来存储求和的结果
while i <= 101
    s = s+i;
    i = i+1;%用来对i进行递增,如果没有这条语句,i的结果始终为1
end
fprintf('1+2+3+...+101=%d\n',s)

结果:
在这里插入图片描述
方案二:不知道循环次数下使用while

%求1+2+3+...+m=n,n是小于等于100且最接近100的整数
clc
clear
i = 0;
s = 0;
while s+i <= 100
    s = s+i;
    i = i+1;
end
fprintf('1+2+3+...+%d=%d\n',i-1,s)

在这里插入图片描述

习题–生成99乘法表

%生成九九乘法表
clc
clear
for i = 1:9
    for j = 1:i
        fprintf('%d * %d = %d ',i,j,i*j)
    end
    fprintf('\n')
end

习题二

有100元,公鸡3元1只,母鸡5元1只,小鸡1元3只,100元正好买100只鸡,问公鸡、母鸡、小鸡各多少只?
cock公鸡 hen母鸡 chicken小鸡

扫描二维码关注公众号,回复: 5098777 查看本文章
%有100元,公鸡3元1只,母鸡5元1只,小鸡1元3只,100元正好买100只鸡,问公鸡、母鸡、小鸡各多少只

    clc
    clear
    for cock = 1:100
        for hen = 1:100
            for chicken=1:100
                if cock + hen + chicken == 100 & cock * 3 + hen * 5 + chicken / 3 == 100
                    fprintf('公鸡%d只,母鸡%d只,小鸡%d只\n',cock,hen,chicken)
                end
            end
        end
    end

猜你喜欢

转载自blog.csdn.net/qq_43730719/article/details/84947353
今日推荐