140 likes | 275 Views
b 34. a 13. a 24. a 25. b 43. b 53. 例 4-18 P71. 转置矩阵,就是将一个矩阵的行列互换。编程输入一个 4 行 5 列的矩阵,顺时针旋转 90 度后输出。. 1 22 3 2 3 2 4 3 4 3 8 4 5 0 9 17 8 4 1 88. 2 3 4 17 88 3 4 8 9 1 22 2 3 0 4 1 3 4 5 8. 已知. b[i,j]:=a[ , ]. 直接输出. 1 22 3 2 3 2 4 3
E N D
b34 a13 a24 a25 b43 b53 例4-18 P71 转置矩阵,就是将一个矩阵的行列互换。编程输入一个4行5列的矩阵,顺时针旋转90度后输出。 1 22 3 2 3 2 4 3 4 3 8 4 5 0 9 17 8 4 1 88 2 3 4 17 88 3 4 8 9 1 22 2 3 0 4 1 3 4 5 8 已知 b[i,j]:=a[ ,]
直接输出 1 22 3 2 3 2 4 3 4 3 8 4 5 0 9 17 8 4 1 88 program ex_zz;var i,j:integer; a:array[1..4,1..5] of integer; begin for i:=1 to 4 do for j:=1 to 5 do read(a[i,j]); for i:=1 to 5 do beginfor j:=4 downto 1 do write(a[j,i],' '); writeln; end;end. 2 3 4 17 88 3 4 8 9 1 22 2 3 0 4 1 3 4 5 8
2008第一题 var i,a,b,c,d:integer; f:array[0..3] of integer; begin for i:=0 to 3 do read(f[i]); a:=f[0]+f[1]+f[2]+f[3]; a:=a div f[0]; b:=f[0]+f[2]+f[3]; b:=b div a; c:=(b*f[1]+a) div f[2]; d:=f[(b div c) mod 4]; if (f[(a+b+c+d) mod 4]>f[2]) then begin a:=a+b; writeln(a) end else begin c:=c+d; writeln(c); end; end. 输入: 9 19 29 39 9 19 29 39 96 10 19 77 4
4-19 进制转换 4-21 约瑟夫问题
所有信息在计算机内部都是以0与1组成的序列表示,包括文字、声音、图像、视频等所有信息在计算机内部都是以0与1组成的序列表示,包括文字、声音、图像、视频等 数也不例外,由0与1作为基数来代表数,是二进制 我们日常习惯用10进制,这就涉及到转换 11二进制,转换成10进制是多少?
10进制的特点 0-9,10个数组成,0-9也就做基数 逢10进一 不同位上的1,代表不同的数,叫权 111 326 3*102+2*101+6*100
常见的数制 数制:指用一组固定的符号和统一的规则来表示数的方法,也称计数制。 进位计数制:按进位的方法进行计数,如十进制、二进制等 进位计数制包括三个要素:数位、基数、位权 ①数位:指数中各数字的位置(从右到左,0位开始); ②基数:指进位计数制中数字。如十进制有0~9共10个数字 ③位权:某位上数字所代表的数值大小等于该数字乘以一个固定的数,这个固定的数就是这个数位的位权。 十进制,位数比较有个性,有自己的名字 如百位 十位 个位·十分位 百分位 千分位 102101100· 10-110-210-3 1 1 1 =1* 102 +1*101 +1*100 222120· 2-12-22-3 =1* 22 +1*21 +1*20 1 1 1
十进制整数与2进制整数之间的转换 用短除法 逆向取余 **=n mod 2 n:=n div 2
4-19 将一个十进制正整数n(n<=2 147 483 647)转换成二进制 inteter-32768..32767 longint-2147483648..2147483647 是否知道除多少次? 循环的条件是什么呢? 循环体要做多少件事? 如何输出?
思考 10进制转换成16进制 要考虑超过超过9就应当用字母表示,如何实现?
var n,i,t:longint; a:array[1..100] of integer; b:char; begin readln(n); i:=0; while n>0 do begin inc(i); a[i]:=n mod 16; n:=n div 16; end; t:=i; for i:=t downto 1 do begin if (a[i]>=0)and(a[i]<10) then write(a[i]); if a[i]=10 then write('A'); if a[i]=11 then write('B') ; if a[i]=12 then write('C') ; if a[i]=13 then write('D') ; if a[i]=14 then write('E') ; if a[i]=15 then write('F') ; end; end. 秦翔宇