
全部通过测试,可以运行、
问题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语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)