编程
1、编写一程序,要求输入五个整数,然后由小到大排序再输出。
%输入n个数,然后由小到大输出
a=input('输入数据:')
n=length(a); %输入数据的长度
i=1;j=1; %赋初值
for i=1:n %需要进行n次比较
for j=2:n %与相邻的进行n-1次比较
if a(j-1)>a(j)
b=a(j-1);
a(j-1)=a(j);
a(j)=b; %比较前者是否比后者大,大的就互换
end
end
end
fprintf(' %d',a) ;
2、将一个整型数组的元素按逆序重新存放(如原序为:8,6,5,4改为4,5,6,8)。
function lin5
a=input('输入数据:')
n=length(a);%求输入a的长度
for i=1:n/2
b=a(i);
a(i)=a(n+1-i);
a(n+1-i)=b;
end
fprintf(' %d',a)
3、输入一个字符,如果是大写字母,则将其转换成小写并输出,若是小写,则直接输出;若是非字母字符则打印:‘datarror’.
function xin2
a=input('输入数据:','s')
if a>=65&a<=90
fprintf('shuchu is %c\n',a+32);
elseif a>=97&a<=122
fprintf('shuchu is %c\n',a);
else
a='dataerror';
fprintf('shuchu is %s',a);
end
4、输入一个整数,写一程序输出它是几位数。
function lin6
a=input('输入数据:','s')
n=length(a)%求输入a的长度
b=n;
fprintf('weishu %d',b);
end
5、写一程序求1!+2!+………………+10!
function w
i=1;j=1;s=0; %赋初值
while i<=10
j=j*i;
s=s+j;
i=i+1;
end
fprintf('s is %d\n',s);
6、从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。例如a=2,n=4,sum=2+22+222+2222.
function q
a=input('输入数据:')
n=input('输入数据:')
i=1;sum=0;he=0;
while i:n
he=he+a*10^(i-1);
sum=sum+he;
i=i+1;
end
fprintf('sum is %ld',sum);
end
7、编程求数列1,1/2 ,1/3 , , ,…………的所有大于等于0.000001的数据项之和并输出结果。
function xin4
i=1;s=1;%赋初值
for i=1:1000000
a=1/(i+1);
while a>=0.000001
s=s+a;
break
end
end
fprintf('he is %ld',s);
8、求3*3矩阵的主对角线元素之和。
%求3*3矩阵主对角线元素之和
function y
a=input('输入矩阵:')
f=a(1,1)+a(2,2)+a(3,3);
fprintf('%6d\n',f);
end
9、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。
function lin11
a=input('输入数据:')
for i=1:10
w=0;
if rem(a(i),7)==0
w=1;
break
end
end
if w==1
fprintf('shuchu is %d',a(i));
else
fprintf('shuchu is not exist%d');
end
10 设计一个用于计算个人所有税的程序。假设个人所得税的缴纳标准为:月收入少于等于800元者不纳税;超出800元的部分,纳税5%;超出2000元的部分,纳税10%;超出5000元的部分,纳税20%;超出10000元的部分,纳税30%;超出100000元的部分,纳税40%。
function xin7
a=input('输入数值:')
if a>100000
j=(a-100000)*0.4+90000*0.3+50