matlab数学建模题及答案,数学建模中30道经典 MATLAB程序.doc

本文档详细介绍了十个Python编程练习,涉及整数排序、数组逆序、字符转换、数字位数判断、阶乘求和、数列求和、累加计算、矩阵对角线和、找7的倍数、个人所得税计算等,适合提升基础编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编程

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值