编程训练实例。
你玩过牌吗?把13张牌反过来(背面朝上)按一定的顺序排列,先把你已经排好的牌第一张取出放在这叠牌的最底层,拿出第二张放在桌面上,然后将第三张取出又放在最底层,取出第四张放在桌子上……直到游戏结束,你依次取出放在桌子上的牌刚好为k,q,j,10,9,8,7,6,5,4,3,2,a。问你一开始时这13张牌的顺序是怎样的?
请你用matlab编程解决这个问题?请把程序附上。
调用格式为chengxu
function chengxu
a=;k=2;j=1;
b=;for c=1:4
for i=1:13
if mod(i,2)~=0
a=b;j=j+1;
endend
for i=2:2:13
if mod(i,4)~=0
a=b;j=j+1;
endend
for i=4:4:13
if mod(i,8)~=0
a=b;j=j+1;
endenda=b;a
或。function f=card()
a=1:13;
i=1;for j=1:13
n=numel(a); 目前的片数;numle为元数的个数。
a(n+1)=a(1); 在多少张里面取第一张。
a(1)=[将上面取出的第一张牌所在空格剪掉。
b(i)=a(1); 翻出来时桌面上亮出来的牌。
i=i+1;
a(1)=[随着i自增,取出现的空格为空。(即删除)。
endc=;%因为10占两位,故用单元。
d=cell(1,13);%由bc对应的数,将c中字符型的牌放入由b决定对应的d中。
for k=1:13
r=b(k);
d=c;end
f=d;如果把第一张牌放在最底层,第二张放在最底层,取出第三张放在桌子上,依此类推,你最后把所有的牌取出刚好依次是a,2,3,4,5,6,7,8,9,10,j,q,k.
调用格式为card2
function f=card2()
a=1:13;
i=1;for j=1:13
n=numel(a);
a(n+1)=a(1);
a(n+2)=a(2);
a(1)=[
a(1)=[
b(i)=a(1)
i=i+1;
a(1)=[
endc=;
d=cell(1,13);
for k=1:13
r=b(k);
d=c;end
f=d;课外拓展。
按照取出第一张放到最后,然后抽出第二张放在桌子上,依次类推,并且桌子上的牌可以从键盘输入,依次类推,求原来牌的排列。
调用格式为chengxu
function y=chengxu
a=input('请输入摆在桌子上的牌','s');
b=numel(a);
c=cell(1,b);
for i=1:b
c=a(i);ende=
f=1:b;
i=1;for j=1:b
n=numel(f); 目前的片数;numle为元数的个数。
f(n+1)=f(1); 在多少张里面取第一张。
f(1)=[将上面取出的第一张牌所在空格剪掉。
e(i)=f(1); 翻出来时桌面上亮出来的牌。
i=i+1;
f(1)=[随着i自增,取出现的空格为空。(即删除)。
endg=cell(1,b);%由bc对应的数,将c中字符型的牌放入由b决定对应的d中。
for k=1:b
r=e(k);
g=c;end
y=g;2. 学校要举行篮球循环赛,共有十个队参加比赛,请你安排一下比赛场次,使每队每次打完比赛后至少能隔一场不比赛,以便得到休息保持体力,请你用matlab解决这个问题,并给出至少一个比赛日程表。(每队休息的场次越多越好,但每队都应得到的休息大体相同,不能出现某队刚打完比赛,马上和另一个已经休息了若干场的球队比赛,这是不公平的)。
1.编写一个程序,要求输入五个整数,然后由小到大排序再输出.
调用形式为:chengxu2([a b c d e f])
function f=chengxu1(x)
for i=1:4
for j=(i+1):5
if x(i)>x(j)
a=x(i);
x(i)=x(j);
x(j)=a;
end end
endf=(x);
编写一个程序,要求输入五个整数,然后由小到大排序再输出。
function h=chao1()
a=cell(1,5);
a=input('please input five number:',s');
b=str2num(a)
fprintf('从小到大排序为:')
g=sort(b,'ascend');
disp(g)
编写一个程序,要求输入五个整数,然后由小到大排序再输出。
function chen1()
a=input('please input num1:')
b=input('please input num2:')
c=input('please input num3:')
d=input('please input num4:')
e=input('please input num5:')
f=[a b c d e];
fprintf('从小到大排序为:')
2. 将一个整型数组的元素按逆序重新存放(如原序为:8,6,5,4改为:4,5,6,8)。
% 将一个整型数组的元素按逆序重新存放。
调用形式为:chengxu2([a b c d……n])
function f=chengxu2(x)
a=numel(x);
b=fix(a/2);
for i=1:b;
j=a-i+1;
t=x(i);
x(i)=x(j);
x(j)=t;
enddisp(x)
将一个整型数组的元素按逆序重新存放。
function chao2()
a=input('请输入一个数组:')
rot90(a,2)
3. 输入一个字符,如果是大写字母,则将其转换成小写并输出;若是小写则直接输出;若是非字母字符则打印:“dataerror!”。
输入形式为chengxu3('x')其中x为从键盘输入的数字或字母。
function chengxu3(x)
if x<=57&x>=48
fprintf('“dataerror!”')
elseif x<=90&x>=65
fprintf('%c',x+32)
elseif x<=122&x>=97xend
function f=chao3
m=input('请输入一个字符:',s');
i=isletter(m);
if i==0
fprintf('“dataerror!”')
else n=lower(m);
disp(n)
end4. 输入一个整数,写一程序输出它是几位数。
%输入形式为chengxu4(x),x为数字。
function f=chengxu4(x)
i=0;for j=1:10000 %此处表示可以容纳10000位数字的位数求解。
x=x/10;
a=fix(x);
if a>0
i=i+1;
end if a==0
i=i+1;
break
endend
fprintf('你输入的是%d位数字',i); 或写成 i
5. 写一程序求1!+2!+…10!
%调用形式为chengxu5
function chengxu5()
j=1;sum=0;
for i=1:10
j=i*j;
sum=sum+j;
endfprintf('10以内的阶乘为 %d',sum)
最后一条语句也可为 sum
6. 从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+…(共n项)的和。例a=2,n=4,则sum=2+22+222+2222.
%调用形式为chengxu6(x,y),其中x y均为数字。
function chengxu6(x,y)
sum=x;t=x;
for i=1:(y-1)
t=t+10^i*x;
sum=sum+t;
endsum
7. 编程求数列1,1/2,1/3 ,1/4 ,1/5 ,…的所有大于等于0.000001的数据项之和并输出结果。
d调用格式为chengxu7
function chengxu7()
sum=0;
for i=1:10^6
a=1/i;
sum=sum+a;
endfprintf('所求大于等于0.000001的数据项之和为%d',sum);
8. 求3*3矩阵的主对角线元素之和。
调用形式为必须chengxu8([x1,x2,x3;x4,x5,x6;x7,x8,x9])
function chengxu8(x)
sum=0;
for i=1:3;
j=i;sum=sum+x(i,j);
endsum
9. 从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。
电脑对学生的利与弊英语作文精编版
最新资料推荐。whenreferringtocomputergames,mostadultsalwaysdonot veryhappy.sosomeadultsdonotlikeit,through the human history,what people play in the old time...
部编版四年级语文上册电脑住宅教案
30 电脑住宅。学习目标。1.会认6个生字和 数据 轻松 悦耳 仓库 储存 示范 烹调,烹饪 预约 综合 判断 提供 防盗 等词语。2.有感情地朗读课文。3.体会电脑的神奇,感受现代科学技术给人们生活带来的舒适和便捷。教学重 难点。1.会认6个生字和 数据 轻松 悦耳 仓库 储存 示范 烹调,烹饪 ...