谁有PASCAL习题?

谁有PASCAL习题?,第1张

1 输入两个整数,按由大到小的顺序输出。

(1-1)

var a,b:integer;

begin

readln(a,b);

if a>=b then write(a,b) else write(b,a)

end

(1-2)

var a,b:integer;

begin

readln(a,b);

if a>b then write(a:5,b:5) else write(b:5,a:5);

if a=b then write('a=b');

end

2 输入三个整数,按由大到小的顺序输出。

var a,b,c:integer;

max,min:integer;

begin

readln(a,b,c);

if a>b then begin max:=a; min:=b end

else begin min:=a; max:=b end;

if c>max then begin max:=c end;

if c<min then begin min:=c end;

writeln(max:5,a+b+c-max-min:5,min:5)

end

3 求和S=1+2+3+4+……10

var S,x:integer;

Begin

S:=0;

for x:=1 to 10 do

s:=x+s;

writeln(s);

end

4 求乘积 S=1234……10

var s:real;

x:integer;

begin

s:=1;

for x:=1 to 10 do

s:=sx;

writeln(s:9:0);

endv

5 计算S=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8+1/9-1/10的值

var i:integer;

s:real;

Begin

i:=1;s:=0;

for i:=1 to 10 do

if (i mod 2)>0 then s:=s+1/I

else s:=s-1/i; (此处很好!)

writeln(s:9:4)

end

6 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13求出这个数列的前20项之和。

var i,t,fz,fm:integer;

s:real;

begin

s:=0;fz:=2;fm:=1;

for i:=1 to 20 do

begin

s:=s+fz/fm;

t:=fz+fm;

fm:=fz;

fz:=t;

end;

writeln(s:8:2);

end

7 输入10个数字,求其中最大的那个数字。

var a:array[110] of integer;

i,max:integer;

begin

for i:=1 to 10 do readln(a[i]);

max:=a[1];

for i:=2 to 10 do if a[i]>max then max:=a[i];(逐个比)

write('Max=',max);

end

8 输入10个数字,求其中次大的那个数字。

var a:array[110] of integer;

i,max1,max2:integer;

begin

for i:=1 to 10 do readln(a[i]);

if a[1]>a[2] then begin max1:=a[i];max2:=a[2];end

else begin max1:=a[2];max2:=a[1];end;

for i:=3 to 10 do

if a[i]>max1 then begin max2:=max1;max1:=a[i]end;(max1用来比,max2接替max1)

write('Max2=',max2);

end

9 求和S=1+2+4+7+11……n(其中n是小于100的最大整数)()

var s,a,i:integer;

begin

s:=0;a:=1;i:=1;

while a<100 do

begin

i:=i+1; s:=a+s;

s:=s+a; a:=a+i;

a:=a+i-1; i:=i+1

end;

writeln(s);

end

10 求和S=1+2+4+8+16+32+……n(n是小于1000的最大整数)

var s,i:integer;

begin

s:=0;i:=1;

while (i<1000) do

begin

s:=s+i;

i:=i2;

end;

writeln(s)

end

11 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

var

a,b,c,i,n:integer;

s:real;

begin

readln(n);

a:=1;b:=0;s:=a+b;

for i:=1 to n-2 do

begin

c:=a+b;

s:=s+c;

a:=b;

b:=c;

end;

writeln(s:9:4);

end

12 打印出小九九乘法口诀表。

var

i,j:integer;

begin

writeln;

for i:=1 to 9 do

begin

for j:=1 to i do write(i:1,'',j:1,'=',ij:1,' ');

writeln;

end;

end

var i,j:integer;

begin

for i:=1 to 9 do

begin

for j:=1 to i do

write(i,'',j,'=',ij,' ');

writeln;

end;

end

13 满足A3+B3+C3=ABC的数字称为水仙花数,求所有的100-999之间的水仙花数。

var a,b,c:integer;

begin

for a:=1 to 9 do

for b:=0 to 9 do

for c:=0 to 9 do

if aaa+bbb+ccc=100a++10b+c

then writeln(a,b,c);

end

14 判断输入的一个正整数是否是素数。

var n,i:integer;

b:boolean;

begin

readln(n);i:=2;b:=True;

while b and (i<=SQRT(n)) do

if (n mod i)=0 then b:=false

else i:=i+1;

if b=True then writeln('Yes')

else writeln('No');

end

15 将一个正整数分解质因数。例如:输入90,打印出90=2335。

var

n,i:integer;

begin

readln(n);

i:=2;

while n mod i<>0 do i:=i+1;

write(n,'=',i);n:=n div i;

while i<=n do

begin

while n mod i=0 do

begin

write('',i);

n:=n div i;

end;

i:=i+1;

end;

end

16 输入两个正整数m和n,求其最大公约数和最小公倍数。

var

m,n:integer;

function asd(a,b:integer):integer;

var x,y,i,j:integer;

begin

i:=a;j:=b;

x:=a mod b;

while x<>0 do

begin

a:=b;

b:=x;

x:=a mod b;

end;

x:=b;

writeln('[',a,',',b,']','=',x);

y:=ji div b;

writeln('(',a,',',b,')','=',y);

end;

begin

readln(m,n);

asd(m,n);

end

17 求s=a+aa+aaa+aaaa+aaa的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有k=5个数相加),输入a和k,求s。

var

i,a,k:integer;

s,t:real;

begin

readln(a,k);

s:=a;t:=a;

for i:=2 to k do

begin

t:=t10+a;

s:=s+t;

end;

write('S=',a,'++',t:0:0,'=',s:0:0);

end

18 一个不超过5位的整数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

var

s:string;b:boolean;i,j:integer;

begin

read(s);

j:=length(s);

i:=1;

b:=true;

while (i<=j) and b do

begin

b:=(s[i]=s[j]);

i:=i+1;

j:=j-1;

end;

if b then writeln('yes')

else writeln('no');

end

19 输入某年某月某日,判断这一天星期几。

const

a:array[112] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);

b:string='SunMonTueWedThiFriSat';

var

year,month,day,i,s:integer;

begin

readln(year,month,day);

s:=0;

for i:=1 to year-1 do

begin

s:=(s+365) mod 7;

if i mod 4=0 then s:=s+1;

if i mod 100=0 then s:=s-1;

if i mod 400=0 then s:=s+1;

end;

for i:=1 to month-1 do s:=s+a[i];

if (year mod 400=0) or ((year mod 4=0)and(year mod 100<>0))then

if month>2 then s:=s+1;

s:=(s+day) mod 7;

for i:=3s+1 to 3s+3 do write(b[i]);

end

20 输入10个整数,按由大到小的顺序输出。

type

arr=array[110] of integer;

var

i,j,k:integer;

a:arr;

begin

for i:=1 to 10 do read(a[i]);

readln;

for i:=1 to 9 do

for j:=1 to 10-i do

if a[j]<a[j+1] then

begin

k:=a[j];

a[j]:=a[j+1];

a[j+1]:=k;

end;

for i:=1 to 10 do write(a[i]:2);

end

21 已知N!=123……N,求S=1!+2!+3!+4!+ ……10!

var

i,j :integer;

s :real;

function fac(i:integer):real;

var

j :integer;s:real;

begin

s:=1 ;for j:=1 to i do s:=sj;fac:=s;

end;

begin

s:=0;

for i:= 1 to 10 do s:=s+fac(i);

writeln(s);

end

22 同上,求S=1!+(1!+3!)+(1!+3!+5!)+ ……(1!+3!+5!+ ……13!)

var

j,i :integer;

s :real;

function fac(a:integer):real;

var k:integer;

b:real;

begin

b:=1;

for k:=1 to a do b:=bk;

fac:=b;

end;

begin

for i:=1 to 7 do

for j:=1 to i2-1 do

if j mod 2 = 1 then

begin

s:=s+fac(j);

end;

writeln(s:8:0);

end

23 进制转换,给定一个十进制的数字n,将它转换成 十六进制等值的数字。

24 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到5报数),凡报到5的人退出圈子,问最后留下的是原来第几号的那位,输入n,输出最后那个人的编号。

const

n=10;

var

a:array[1n] of boolean;

i,j,k:integer;

begin

writeln;

for i:=1 to n do a[i]:=true;

i:=0;j:=0;k:=0;

while j<n do

begin

i:=i+1;

if i>n then i:=1;

if a[i] then

begin

k:=k+1;

if k=5 then

begin

a[i]:=false;

write(i:3);

k:=0;

j:=j+1;

end;

end;

end;

end const

n=10;

var

a:array[1n] of boolean;

i,j,k:integer;

begin

writeln;

for i:=1 to n do a[i]:=true;

i:=0;j:=0;k:=0;

while j<n do

begin

i:=i+1;

if i>n then i:=1;

if a[i] then

begin

k:=k+1;

if k=5 then

begin

a[i]:=false;

write(i:3);

k:=0;

j:=j+1;

end;

end;

end;

end

25 已知无穷小数 X=01234567891011…9899100101…,其中的数字是依次写下各自然数而得到的。试求出小数点后第 n 位数字。输入:从键盘输入 n。(n<=200)输出:输出小数点后第 n (180以内)位数字。

var

i,j,k,n:integer;

begin

readln(n);

if n<10 then writeln(n)

else

begin

i:=9+(n-8) div 2;

if n mod 2=0 then k:=i div 10

else k:=i mod 10;

writeln(k);

end;

end

26 螺旋方阵和数字三角形。

(26-1)

var

a:array[15,15]of integer;

i,j,k,u,d,l,r:integer;

begin

k:=1;l:=1;r:=5;u:=1;d:=5;

while k<=25 do

begin

for i:=u to d do begin a[i,l]:=k;k:=k+1;end;l:=l+1;

for i:=l to r do begin a[d,i]:=k;k:=k+1;end;d:=d-1;

for i:=d downto u do begin a[i,r]:=k;k:=k+1;end;r:=r-1;

for i:=r downto l do begin a[u,i]:=k;k:=k+1;end;u:=u+1;

end;

for i:=1 to 5 do

begin

for j:=1 to 5 do write(a[i,j]:3);

writeln;

end;

end

(26-2)

var

a:array[110,110]of integer;

i,j,k,u,d,l,r,n:integer;

begin

readln(n);

k:=1;l:=1;r:=n;u:=1;d:=n;

while k<=nn do

begin

for i:=u to d do begin a[i,l]:=k;k:=k+1;end;l:=l+1;

for i:=l to r do begin a[d,i]:=k;k:=k+1;end;d:=d-1;

for i:=d downto u do begin a[i,r]:=k;k:=k+1;end;r:=r-1;

for i:=r downto l do begin a[u,i]:=k;k:=k+1;end;u:=u+1;

end;

for i:=1 to n do

begin

for j:=1 to n do write(a[i,j]:3);

writeln;

end;

end

27 打印N行的杨辉三角。

var

a:array[110,110]of integer;

i,j,n:integer;

begin

readln(n);

for i:=1 to 10 do

for j:=1 to 10 do a[i,j]:=0;

for i:=1 to 10 do a[i,1]:=1;a[i,i]:=1;

writeln(1:n);

for i:=2 to n do

begin

write(a[i,1]:n-i+1);

for j:=2 to i do

begin

a[i,j]:=a[i-1,j-1]+a[i-1,j];

write(a[i,j]:3);

end;

writeln;

end;

end

28 高精度整数加法。输入两个不超过100位的正整数,求它们的和。

var

s1,s2,s3:string;k,k1,k2,k3,l1,l2,i:integer;

begin

readln(s1);readln(s2);

l1:=length(s1);l1:=length(s2);

if l1>l2 then for i:=1 to l1-l2 do s2:=s2+'0';

l1:=length(s1);l1:=length(s2);

k:=0;s3:=' ';

for i:=l1 downto 1 do

begin

k1:=ord(s1[i])-ord('0');

k2:=ord(s2[i])-ord('0');

k3:=k+k1+k2;

if k3>=10 then begin k:=1;k3:=k3-10;end

else k:=0;

s3:=chr(k3+ord('0'))+s3;

end;

if k=1 then s3:='1'+s3;

writeln(s3);

end

29 高精度实数减法。输入两个不超过100位的正整数,求它们的差。

var

i,k :integer;

s1,s2,s3:string;

k1,k2,k3:integer;

l1,l2 :integer;

begin

readln(s1);readln(s2);

l1:=length(s1);l2:=length(s2);

if (l1<l2) or (l1=l2) and (s1<s2) then

begin

s3:=s1;

s1:=s2;

s2:=s3;

write('-');

end;

l1:=length(s1);l2:=length(s2);

for i:=1 to l1-l2 do s2:='0'+s2;

k:=0;s3:=' ';

for i:=l1 downto 1 do

begin

k1:=ord(s1[i]) -ord('0');

k2:=ord(s2[i]) -ord('0');

k3:=k1-k2-k;

if k3<0 then begin k3:=k3+10;k:=1;end

else k:=0;

s3:=chr(ord('0')+k3)+s3;

end ;

while (length(s3)>1)and(s3[1]='0') do delete(s3,1,1);

writeln(s3);

end

30 高精度整数乘法。输入两个不超过100位的正整数,求它们的乘积。

var

s1,s2:string;

a,b,c:array[09]of integer;

i,j,k:integer;

begin

readln(s1);k:=length(s1);

for i:=0 to k-1 do a[i]:=ord(s1[k-i])-ord('0');

readln(s2);k:=length(s2);

for i:=0 to k-1 do b[i]:=ord(s2[k-i])-ord('0');

for i:=0 to 9 do c[i]:=0;

for i:=0 to 9 do

for j:=0 to 9 do c[i+j]:=c[i+j]+a[i]b[j];

for i:=0 to 7 do

begin

k:=c[i];

c[i]:=c[i] mod 10;

c[i+1]:=c[i+1]+k div 10;

end;

j:=9;

while (c[j]=0) and (j>0) do j:=j-1;

for i:=j downto 0 do write (c[i]);

end

31 高精度实数加法减法。输入两个不超过100位的正实数,求它们的和或者差。

var

s1,s2,s3 :string;

l1,l2 :integer;

x1,x2,z1,z2 :integer;

pointpos :integer;

i,j,k :integer;

begin

readln(s1);readln(s2);

k:=pos('',s1);if k=0 then s1:=s1+'';

k:=pos('',s2);if k=0 then s2:=s2+'';

l1:=length(s1);k:=pos('',s1);z1:=k-1;x1:=l1-k;

l2:=length(s2);k:=pos('',s2);z2:=k-1;x2:=l2-k;

if z1>z2 then

for k:=1 to z1-z2 do s2:='0'+s2

else

for k:=1 to z2-z1 do s1:='0'+s1;

if x1>x2 then

for k:=1 to x1-x2 do s2:=s2+'0'

else

for k:=1 to x2-x1 do s1:=s1+'0';

k:=pos('',s1);delete(s1,k,1);delete(s2,k,1);s3:=s1;pointpos:=k;

j:=0;

for i:=length(s3) downto 1 do

begin

k:=ord(s1[i])-ord('0')+ord(s2[i])-ord('0')+j;

if k>9 then begin j:=1;k:=k-10; end else j:=0;

s3[i]:=chr(ord('0')+k);

end;

insert('',s3,pointpos);

if j=1 then s3:='1'+s3;

while s3[length(s3)]='0' do delete(s3,length(s3),1);

if s3[length(s3)]='' then delete(s3,length(s3),1);

writeln(s3);

end

32 已知e=1+1/1!+1/2!+1/3!+1/N!,求e的近似值精确到小数点后50位。

33 循环小数化成分数。给定一个循环小数将它化成等值的分数,比如1(3)=4/3

34 编程将整数1至nn中的所有数字填入n*n方阵中,使其每一行每一列及对角线元素之和均相等。N为奇数。

var

a:array[15,15]of integer;i,j,k,tx,ty:integer;

begin

writeln;

for i:=1 to 5 do for j:=1 to 5 do a[i,j]:=0;

k:=1;a[1,3]:=1;i:=1;j:=3;

repeat

k:=k+1;tx:=i-1;ty:=j+1;

if tx =0 then tx:=5;

if ty=6 then ty:=1;

if a[tx,ty]<>0 then begin tx:=i+1;ty:=j;end;

i:=tx;j:=ty;a[i,j]:=k;

until k=25;

for i:=1 to 5 do

begin

for j:=1 to 5 do write(a[i,j]:3);

writeln;

end;

end

35 求1-10000中约数最多的那个数字是多少。比如6有4个约数1,2,3,6

36 求N的K次方根,精确到小数点之后R位

37 负进制,将十进制的正数X换成R进制,其中R <0。

38 求2N-1的位数和最后500位数字。

39 从M个互不相同的字母中选出N个的排列的所有情况。

40 在NN的国际象棋棋盘里摆上N个皇后,使他们相互不进行攻击,问有多少种不同的摆法,要求输入N,输出所有摆法的方案和方案总数

41 有个奇怪的数列,其中1是他的元素,以后每个元素都是前面某个元素的2倍加1或者3倍加1,除此之外再没有其他的元素了,求这个数列的第100大的元素

42 算24点,给定4个数字,通过+-÷和括号的运算得到24,求这样的表达式。

43 有一个式子1○2○3○4○5○6○7○8○9○0=108,○中既可以填+-÷也可以不填,不如1○2不填就变成了12,求一种方法使式子成立。

44 给定一个正整数不超过40位,在其中填上若干乘号,变成一个式子,问怎样填入使得结果最大。例如N=123,K=1,则最大成绩为36。

45 给出一个合法的未配平的化学方程式,请配平它。

46 邮票问题:一个信封上最多只能贴N张邮票,而邮票有K种,问如何安排 K中邮票的面值,使得最小的不能组合贴出的面值最大?

其中有些题目有参考答案

不是两位小数。

计算过程:

334×5=167,167是一位小数。

小数乘法的运算法则:

1、先按照整数乘法的法则求出积;

2、再看被乘数和乘数一共有几位小数,就从积的右边起数出几位,点上小数点;

3、如果小数的末尾出现0时,根据小数的基本性质,把小数末尾的0划去。

扩展资料:

性质

1、在小数的末尾添上或去掉任意个零,小数的大小不变。例如:04=0400,0060=006。

2、把小数点分别向右(或向左)移动n位,则小数的值将会扩大(或缩小)基底的n次方倍。

小数与分数的转化

有限小数化分数:化为十分之几后约分。

纯循环小数化分数:循环节作为分子,循环节如果有一位,分母为9;循环节有两位,分母为99;循环节有三位,分母为999,依次类推。

—小数

the sun sensor measures the intensity of solar radiation in real time when the intensity of the light。。。。。

句子翻译:太阳传感器测量实时监测太阳光辐射的强度,当光的强度。。。。。。。。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/2012140.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-11-03
下一篇2023-11-03

随机推荐

  • 问:啊阿啊。听说最近 同仁堂出了一款叫素瘦的产品 排毒 养颜 减肥 塑性。好用吗

    你好,减肥方法有多种,其中控制饮食是最主要的。 建议您在减肥的过场中要严格控释饮食,每天要少吃多餐,多吃水果以补充每天所需的维生素,还要控制每天的饮水量,最重要的还要适 量运动巩固减肥成果。减肥是一个艰苦漫长的过程,重在坚持以为同仁堂是老字

    2024-04-15
    11100
  • 谷雨光甘草精华效果好吗 谷雨光甘草精华好用吗

    谷雨是个比较有名气的护肤品牌,这个品牌有很多人都喜欢用,那么谷雨光甘草精华效果好吗,谷雨光甘草精华好用吗,下面就来看看吧。谷雨光甘草精华效果好吗 谷雨这款光甘草精华真的超级好用,很保湿完全打破对国货的看法,包装也越来越大气漂亮了,小

    2024-04-15
    13600
  • 妮维雅男士洗面奶好吗?

    每日正常的洁肤次数最好为3次,除早晚之外,中间应增加1次。此外,户外活动或长时间购物等活动之后,还应该适当增加洁肤的次数。洗面的次数究竟该多少次还要考虑肤质、年龄和季节等因素。干性、敏感性肤质和年龄偏大者,应适当减少洗面的次数,并应慎重使用

    2024-04-15
    9800
  • 哪几款口红便宜又滋润?

    1国产玛丽黛佳这个品牌不出5年一定会成为国产最好的彩妆品牌,而且相比于很多的200多,300多的口红,玛丽黛佳还是很经济划算的,毕竟唇釉才80左右,口红也基本不超过100元。所以无论你是学生党还是工作族,大家都是买的起的!曾经我买玛丽黛佳就

    2024-04-15
    9100
  • sk2神仙水和清莹露有什么区别

    sk2神仙水和清莹露的区别:质地不同,成分不同,外观不同,功效不同,用法不同。1、质地不同。skll神仙水是精华水,水状质地,不粘稠,适合油性和混油型肌肤,可以淡化黑斑,清莹露属于清洁水,水润质地,能够补水和清洁皮肤。2、成分不同。神仙水以

    2024-04-15
    15900
  • sk2清莹露和神仙水有什么区别

    sk2清莹露和神仙水的区别有:质地不同:skll神仙水是精华水,水状质地,不粘稠,适合油性和混油型肌肤,可以淡化黑斑。清莹露属于清洁水,水润质地,能够补水和清洁皮肤。成分不同:神仙水以半乳糖酵母菌发酵物滤液为核心成分,添加丁二醇等保湿成分外

    2024-04-15
    11200
  • 艾灸盒怎么用?

    艾灸盒怎么用?艾灸盒有很多种,我们平时最常见的要属随身灸艾灸盒,这种艾灸盒有铜制的也有铁制的,一般大多数选择用铁质的,下面给大家详细介绍一下铁制的随身灸,它的具体用法:首先把艾灸盒打开,把艾条剪成一小段,插到里面的支架上面,然后点燃艾灸条,

    2024-04-15
    8400

发表评论

登录后才能评论
保存