pascal语言编程题:1、楼梯有n(n<50)阶台阶,上楼可以一步1个台阶,也可以一步2个
台阶,一共有多少种不同的走法?(提示:1阶台阶有1种走法(1),2阶台阶有2种走法(11、2),3阶台阶有3种走法(111、12、21),4阶台阶有5种走法(1111、1...
台阶,一共有多少种不同的走法?(提示:1阶台阶有1种走法(1),2阶台阶有2种走法(11、2),3阶台阶有3种走法(111、12、21),4阶台阶有5种走法(1111、121、112、211、22),5阶台阶有8种走法(11111、1211、122、1121、1112、2111、221、1121)……仔细观察这些走法方案数之间有什么规律?这个规律很有名气哦。)
输入:3 输出:3 输入:5 输出:8 输入:50 输出:20365011074
2、有一种三位数很独特,它们每位上的数字互不相同且都不大于7,特别是十位数字正好是百位数字与个位数字之差,求所有这样的三位数。(提示:三重for循环穷举三位数,另外当符合要求的三位数数量达到5的倍数时转行。)
输出:(每行达到5个数字就转行)
312321 413 431 514
523532 541 615 624
642651 716 725 734
743752 761
3、已知四位数3025有一个特殊性质:它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数3025。找出所有具有这种性质的四位数。(提示:多重for循环穷举,可以通过div 100分离出前两位数字,mod 100分离后两位数。)
输出:2025 3025 9801
4、把1、2、3、4、5、6六个数字填入下列各括号中,不能重复和遗漏,使各边数字之和相等。编程求出a、b、c、d、e、f等于多少?
(a)
(b) (f)
(c) (d) (e)
(提示:用六重for循环穷举,可参照P152编程第5题,本题是求排列的结果。)
输出:
1: 1 45 2 3 6
2: 1 53 4 2 6
3: 1 62 4 3 5
4: 1 63 2 5 4
5: 2 36 1 4 5
6: 2 43 5 1 6
7: 2 54 1 6 3
8: 2 61 5 3 4
9: 3 25 4 1 6
10: 3 42 6 1 5
11: 3 51 6 2 4
12: 3 61 4 5 2
13: 4 16 3 2 5
14: 4 26 1 5 3
15: 4 35 1 6 2
16: 4 52 3 6 1
17: 5 16 2 4 3
18: 5 23 6 1 4
19: 5 34 2 6 1
20: 5 41 6 3 2
21: 6 14 5 2 3
22: 6 15 3 4 2
23: 6 24 3 5 1
24: 6 32 5 4 1
5、统计成绩。信息学社团的20个学生参加期末测试,他们的成绩分别是:88、76、100、57、39、67、98、100、45、97、26、8、60、85、79、86、91、83、93、62。统计得100分的有几个同学?90-99分,80-89分……10-19分,0-9分各有多少学生?
输入:8876 100 57 39 67 98 100 45 97 26 8 60 85 79 86 91 83 93 62
输出:
0-9:1
10-19:0
20-29:1
30-39:1
40-49:1
50-59:1
60-69:3
70-79:2
80-89:4
90-99:4
100:2
(提示:本题如果用11个if语句统计成绩,那样太冗长繁琐。本题先用x:=x div 10得出每个成绩的十位上数字,然后用a[x]:=a[x]+1巧妙的进行计数,程序代码简洁有效率。例如x[8]:=4,表示80多分的出现了4次。)
6、请统计某个给定范围的所有整数中,数字2出现的次数。比如给定范围[2,22],数字2在数2中出现1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
输入:2 22 输出:6 输入:2 100 输出:20 输入:3 280 输出:138
(提示:可以采用for循环搜索给定范围的数字,在该for循环里嵌套一个用while或repeat循环实现的多位数分离,关于多位数分离可以参考群论坛第十一作业复习提纲中玫瑰花数的拓展方法。以前讲的多重循环都是for 循环嵌套for循环,而这题则是for 循环嵌套while或repeat循环,要掌握这种嵌套的要领。) 展开
输入:3 输出:3 输入:5 输出:8 输入:50 输出:20365011074
2、有一种三位数很独特,它们每位上的数字互不相同且都不大于7,特别是十位数字正好是百位数字与个位数字之差,求所有这样的三位数。(提示:三重for循环穷举三位数,另外当符合要求的三位数数量达到5的倍数时转行。)
输出:(每行达到5个数字就转行)
312321 413 431 514
523532 541 615 624
642651 716 725 734
743752 761
3、已知四位数3025有一个特殊性质:它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数3025。找出所有具有这种性质的四位数。(提示:多重for循环穷举,可以通过div 100分离出前两位数字,mod 100分离后两位数。)
输出:2025 3025 9801
4、把1、2、3、4、5、6六个数字填入下列各括号中,不能重复和遗漏,使各边数字之和相等。编程求出a、b、c、d、e、f等于多少?
(a)
(b) (f)
(c) (d) (e)
(提示:用六重for循环穷举,可参照P152编程第5题,本题是求排列的结果。)
输出:
1: 1 45 2 3 6
2: 1 53 4 2 6
3: 1 62 4 3 5
4: 1 63 2 5 4
5: 2 36 1 4 5
6: 2 43 5 1 6
7: 2 54 1 6 3
8: 2 61 5 3 4
9: 3 25 4 1 6
10: 3 42 6 1 5
11: 3 51 6 2 4
12: 3 61 4 5 2
13: 4 16 3 2 5
14: 4 26 1 5 3
15: 4 35 1 6 2
16: 4 52 3 6 1
17: 5 16 2 4 3
18: 5 23 6 1 4
19: 5 34 2 6 1
20: 5 41 6 3 2
21: 6 14 5 2 3
22: 6 15 3 4 2
23: 6 24 3 5 1
24: 6 32 5 4 1
5、统计成绩。信息学社团的20个学生参加期末测试,他们的成绩分别是:88、76、100、57、39、67、98、100、45、97、26、8、60、85、79、86、91、83、93、62。统计得100分的有几个同学?90-99分,80-89分……10-19分,0-9分各有多少学生?
输入:8876 100 57 39 67 98 100 45 97 26 8 60 85 79 86 91 83 93 62
输出:
0-9:1
10-19:0
20-29:1
30-39:1
40-49:1
50-59:1
60-69:3
70-79:2
80-89:4
90-99:4
100:2
(提示:本题如果用11个if语句统计成绩,那样太冗长繁琐。本题先用x:=x div 10得出每个成绩的十位上数字,然后用a[x]:=a[x]+1巧妙的进行计数,程序代码简洁有效率。例如x[8]:=4,表示80多分的出现了4次。)
6、请统计某个给定范围的所有整数中,数字2出现的次数。比如给定范围[2,22],数字2在数2中出现1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
输入:2 22 输出:6 输入:2 100 输出:20 输入:3 280 输出:138
(提示:可以采用for循环搜索给定范围的数字,在该for循环里嵌套一个用while或repeat循环实现的多位数分离,关于多位数分离可以参考群论坛第十一作业复习提纲中玫瑰花数的拓展方法。以前讲的多重循环都是for 循环嵌套for循环,而这题则是for 循环嵌套while或repeat循环,要掌握这种嵌套的要领。) 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
1个回答
展开全部
六道题分有点少啊,平均一道题3分不到,第一题 斐波那契数列 f[i]=f[i-1]+f[i-2]有兴趣+个矩阵乘法,
第二题简单for循环 for i:=100 to 999 do if check(i) then writeln(i)
check(x){ if (x mod 10>7 )or((x div 10)mod 10>7)or(x div 100>7)or(abs(x mod 10-x div 100)=(x div 10 mod 10))then exit(false)else exit(true);} 后面的意思意思第三题 按题意分离后模拟,第4题 简单搜索 不需要剪枝,第5题 inc(ans[score[i] div 10]); 第6题 按题意和提示做吧,这些语言题初学时硬着头皮写就是了,不会的写得丑了还要找老师看看就行了
第二题简单for循环 for i:=100 to 999 do if check(i) then writeln(i)
check(x){ if (x mod 10>7 )or((x div 10)mod 10>7)or(x div 100>7)or(abs(x mod 10-x div 100)=(x div 10 mod 10))then exit(false)else exit(true);} 后面的意思意思第三题 按题意分离后模拟,第4题 简单搜索 不需要剪枝,第5题 inc(ans[score[i] div 10]); 第6题 按题意和提示做吧,这些语言题初学时硬着头皮写就是了,不会的写得丑了还要找老师看看就行了
追问
pascal语言编程题:
从键盘输入任意10个整数,把其中的正数之和与负数之和分别输出。(提示:for循环+if语句),求题解答案
追答
var
i,j,z,f:longint;
begin
readln(n);
z:=0;
f:=0;
for i:=1 to n do
begin
readln(j);
if j> 0 then z:=z+j;
if j<=0 f:=f+j;
writeln(z);
writeln(f);
end.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询