matlab 题 求答案在线等

matlab 题 求答案在线等,第1张

全部通过测试,可以运行、

问题1

%Q1

%主函数

num = input('please input a number: ')

if func_is_prime(num)

disp('The input number is a prime number');

else

disp('The input number is NOT a prime number');

end

%子函数

function result = func_is_prime(x)

temp = 2:x-1;

temp = x/temp;

result = (temp ~= round(temp));

问题2

%Q2

zero_num = 0;

for x = 1:2007;

zero_num = func_cal_zero_num(x) + zero_num;

end

disp(zero_num);

%子函数,统计数字中0的个数

function result = func_cal_zero_num(x)

result = 0;

if x>=0 & x<10 & x==0

result = 1;

elseif x>=10 & x<=99 & mod(x,10)==0;

result = 1;

elseif x>=100 & x<=999 & mod(x,100)==0

result = 1;

elseif x>=100 & x<=999 & mod(x-mod(x,10),100)==0;

result = 1;

elseif x>=1000 & mod(x,1000)==0;

result = 1;

elseif x>=1000 & mod(x-mod(x,10),100)==0 ~mod(x-mod(x,100),1000)==0;

result = 1;

elseif x>=1000 & mod(x-mod(x,100),1000)==0 ~ mod(x-mod(x,10),100)==0;

result = 1;

end

问题3

%Q3

x = -3:001:3;

y=zeros(size(x));

for i = 1:length(x)

if -3<= x(i)& x(i)<=-1

y(i)=(-x(i)^2-4x(i)-3)/2;

elseif -1<= x(i) & x(i)<=1

y(i)=-x(i)^2+1;

elseif 1<=x(:,i)<=3

y(i)=(-x(i)^2+4x(i)-3)/2;

end

end

plot(x,y);

问题4

%Q4

k = menu('please choose a number', '1', '4');

switch k

case 1

a = -10; b = 10;

result = a + (b-a) rand(1);

case 4

a = 0; b = 1;

result = a + sqrt(b) randn(1);

end

disp(result);

问题5

%Q5

x = 25;

result = 0;

if x <= 10

result = x01;

elseif x>10 & x<=20

result = 1001+(x-10)005;

elseif x>20 & x<=40

result = 1001+10005+(x-20)002;

else

result = 1001+10005+20002+(x-40)001;

end

disp(result);

问题6

%Q6

num = 3;

a = 1; b = 2;

result = 0;

for i = 1:num

result = result + b/a;

temp = a;

a = b;

b = temp + b;

end

disp(result);

问题7,也是约瑟夫环问题

%Q7

n = 20;

m = 7;

arr_size = n;

s = 1;

a = 1:n;

result = zeros(1,n);

s1 = s-1;

for t = n:-1:1

s1 = rem((s1 +m-1),t);

w = a(s1+1);

fprintf('The %d-th person is out\n',w);% 显示第几号人出列

result(n-t+1) = w;% 将出列的人放入result数组

for t=s1+1:1:arr_size-1%移动数组元素

a(t)=a(t+1);

end

arr_size = arr_size-1;

end

disp(result);

function answer=addplu(a,b,type)

if type=='+'

    answer=a+b;

    return;

end

if type=='-'

    answer=a-b;

    return;

end

end

%说明自己加吧,你还可以加进去乘除呢

代码:

#include<stdioh>

int main()

{

int  m,n;

int s=1;

int power(int a,int b);

scanf("%d %d",&m,&n);

printf("%d",power(m,n));

}

int power(int a,int b)

{

int t=1;

if(b==1)

t=a;

else

t=apower(a,b-1);

return(t);

}

扩展资料:

运行结果:

递归方法代码:

#include <stdioh>

int mton(int m, int n) {

if (n == 1) return m;

else {

return m mton(m, n - 1);

}

}

int main() {

printf("%d\n", mton(2, 3));

//system("pause");

return 0;

}

以上就是关于matlab 题 求答案 在线等全部的内容,包括:matlab 题 求答案 在线等、MATLAB!编写一个函数m文件,要求有函数说明行,声明行等。能够实现2个数相乘和相加,并能带回运算结果。、编写一个函数,计算一个整数m的n次幂,在主函数中输入m和n,并在主函数中输出计算结果 用C语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10119250.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存