编程题集(11-60)

前十题在云计算第三次作业中:写文章-CSDN创作中心

Demo11 计算三角形的三个角

题目描述

输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)
A=acos((a*a-b*b-c*c)/(-2*b*c))

B=acos((b*b-a*a-c*c)/(-2*a*c))

C=acos((c*c-b*b-a*a)/(-2*a*b)) 

其中a、b、c分别表示三条边,A、B、C分别表示三边对应的角

输入输出描述

输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔

输出三行,分别为A、B、C三个角的度数,结果保留两位小数

示例

输入:

1 1 6.5 1 6.5 2.5

输出:

15.26

90.00

74.74

Demo12 最小数量的硬币

题目描述

假设硬币种类分为:一元硬币、两角五分硬币、一角硬币、五分硬币、一分硬币

输入总金额,并将总金额兑换成若干个硬币,并保证所兑换的硬币个数最少

输入输出描述

输入总金额

输出每种硬币的个数

示例

输入:

11.56

输出:

11个一元硬币

2个两角五分硬币

0个一角硬币

1个五分硬币

1个一分硬币

Demo13 正多边形的面积

题目描述

正多边形是边长相等的多边形,而且所有的角相等,计算正多边形的公式为:
area = \frac{n*s^2}{4*tan(\frac{π}{n})}

输入输出描述

输入两个数据分别表示边的个数n和边的长度s,数据之间用空格分隔

输出边长为s的正n多边形的面积,结果保留两位小数

示例

输入:

5 6.5

输出:

72.69

Demo16 中彩票

题目描述

随机产生一个两位数数字,然后用户输入一个两位数数字,并根据以下规则判定用户赢得的奖金是多少

(1)输入的数字和随机产生的数字完全相同(包括顺序),奖金为10000元

(2)输入的数字和随机产生的数字相同(不包括顺序),奖金为3000元

(3)输入的数字和随机产生的数字有一位数相同,奖金为1000美元

(4)输入的数字和随机产生的数字都不相同,没有奖金,0元

输入输出描述

输入一个两位数

输出两行,第一行输出那个随机产生的两位数,第二行输出用户的奖金

示例1

输入:

12

输出:

12

10000

示例2

输入:

12

输出:

21

3000

示例3

输入:

12

输出:

23

1000

示例4

输入:

12

输出:

45

0

Demo17 解一元二次方程

题目描述

一元二次方程$ax^2+bx+c=0 (a != 0)$的解可以使用下面的公式计算
r1=\frac{-b+\sqrt{b^2-4ac}}{2a},     r2=\frac{-b-\sqrt{b^2-4ac}}{2a}

其中$b^2-4ac$称为判别式,如果它为正,则方程有两个实数解;为零,方程只有一个实数解;为负,没有实数解

输入输出描述

输入a、b、c三个数据,数据之间用空格分隔

两个解每行输出一个;一个解单行输出;无解则单行输出无实数解,保留两位小数

示例1

输入:

1.0 3 1

输出:

-0.38

-2.62

示例2

输入:

1 2.0 1

输出:

-1.00

-2.62

示例3

输入:

1 2 3

输出:

无实数解

Demo18 解2×2线程方程

题目描述

如有一个2×2的线程方程组:
ax+by=e

cx+dy=f

你可以使用克莱姆法则解该线性方程:
x=\frac{ed-bf}{ad-bc},    y=\frac{af-ec}{ad-bc}

其中$ad-bc$为判别式,如果为零则输出无解

输入输出描述

输入a、b、c、d、e、f六个数据,数据之间用空格分隔

输出两行,第一行x的解,第二行y的解,保留一位小数

示例1

输入:

9.0 4.0 3.0 -5.0 -6.0 -21.0

输出:

-2.0

3.0

示例2

输入:

1.0 2.0 2.0 4.0 4.0 5.0

输出:

无解

Demo19 未来是周几

题目描述

输入表示今天是一周内哪一天的数字(星期天是0,星期一是1,...,星期六是6)

并输入今天之后到未来某天的天数,然后输出该天是星期几

输入输出描述

输入两个数据,分别表示今日星期几的数字和未来某天的天数,数据之间用空格分隔

输出未来某天是星期几

示例1

输入:

1 3

输出:

星期四

Demo20 本年中的第几天

题目描述

给定某年、某月、某日的一个日期,计算该日是今年中的第几天

输入输出描述

输入三个数据分别表示年、月、日,数据之间用空格分隔

输出该日是今年中的第几天

示例1

输入:

2023 1 28

输出:

28

示例2

输入:

2023 3 2

输出:

61

Demo23 一周的星期几

输入输出描述

输入年、月、日三个数据,数据之间用空格分隔

输出该日是周几

示例1

输入:

2013 1 25

输出:

星期五

示例2

输入:

2012 5 12

输出:

星期六

Demo24 直线的交点

题目描述

直线A上的两个点是$(x1,y1)$和$(x2,y2)$,直线B上的两个点是$(x3,y3)$和$(x4,y4)$

如果两条直线有交点,可以通过解下面的线性等式找出:
(y1-y2)x-(x1-x2)y=(y1-y2)x1-(x1-x2)y1

(y3-y4)x-(x3-x4)y=(y3-y4)x3-(x3-x4)y3

如果没有解,则表示两条直线平行

输入输出描述

输入八个数据,分别为x1 y1 x2 y2 x3 y3 x4 y4,数据之间用空格分隔

如有交点则输出交点的坐标x y,否则输出两条直线平行

示例1

输入:

2 2 5 -1 4 2 -1 -2

输出:

2.89 1.11

示例2

输入:

2 2 7 6 4 2 -1 -2

输出:

两条直线平行

Demo25 回文数

题目描述

输入一个三位整数,然后判断其是否为一个回文数

如果一个数从左向右和从右向左读取时是一样的,那么这个数就是回文数

输入输出描述

输入一个数字

输出Yes表示是回文数,否则输出No

示例1

输入:

121

输出:

Yes

示例2

输入:

123

输出:

No

Demo26 两个矩形

题目描述

判断两个矩形之间的关系:包含,重叠,相离

输入输出描述

输入两行,每行四个数据,分别是矩形的中心坐标x、y和矩形的宽、高

输出两者的关系

示例1

输入:

2.5 4 2.5 43

1.5 5 0.5 3

输出:

包含

示例2

输入:

1 2 3 5.5

3 4 4.5 5

输出:

重叠

示例3

输入:

1 2 3 3

40 45 3 2

输出:

相离

Demo27 打印数字I

题目描述

利用循环,寻找规律,打印如下数字模式:

模式A
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
模式B
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
模式C
          1
        2 1
      3 2 1
    4 3 2 1
  5 4 3 2 1
6 5 4 3 2 1
模式D
1 2 3 4 5 6
  1 2 3 4 5
    1 2 3 4
      1 2 3
        1 2
          1

Demo28 打印数字II

题目描述

利用循环,寻找规律,打印如下数字模式:

            1
          2 1 2
        3 2 1 2 3
      4 3 2 1 2 3 4
    5 4 3 2 1 2 3 4 5
  6 5 4 3 2 1 2 3 4 5 6
7 6 5 4 3 2 1 2 3 4 5 6 7

Demo29 打印数字III

题目描述

利用循环,寻找规律,打印如下数字模式:

                        1
                    1   2   1
                1   2   4   2   1
            1   2   4   8   4   2   1
        1   2   4   8   16  8   4   2   1
    1   2   4   8   16  32  16  8   4   2   1
1   2   4   8   16  32  64  32  16  8   4   2   1

Demo33 猜数字

题目描述

计算机随机生成一个[0,100]之间的整数,程序提示用户连续地输入数字直到它与那个随机生成的数字相同

对于用户输入的数字,程序会提示它是过高还是过低

输入输出描述

每次输入一个整数

每次输出该数字是过高还是过低,如果猜中则输出猜中的数字并结束

示例

输入:50

输出:高了

输入:25

输出:低了

输入:42

输出:高了

输入:39

输出:猜中了!答案就是39

Demo34 最大公约数I

题目描述

输入两个正整数,计算其最大公约数,例如4和2的最大公约数是2,16和24的最大公约数是8

输入输出描述

输入两个数字

输出最大公约数

示例1

输入:

16 24

输出:

8

示例2

输入:

7 3

输出:

1

Demo36 最小公倍数

题目描述

输入两个正整数,计算其最小公倍数,例如4和2的最小公倍数是4,3和5的最小公倍数是15

输入输出描述

输入两个正整数

输出最小公倍数

示例1

输入:

3 9

输出:

9

Demo38 完全数

题目描述

如果一个正整数等于除了它本身之外所有正因子的和,那么这个数称为完全数

例如 6 = 3 + 2 + 1,28 = 14 + 7 + 4 + 2 + 1

输入输出描述

输入一个正整数

输出该数是否为完全数

示例1

输入:

6

输出:

Yes

示例2

输入:

9

输出:

No

Demo40 计算π

题目描述

你可以使用下面的数列近似计算π
π=4(1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\frac{1}{9}-\frac{1}{11}+...+\frac{(-1)^{i+1}}{2i-1})

当i越大时,计算结果越近似于π

Demo41 计算e

题目描述

你可以使用下面的数列近似计算e
e=1+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+\frac{1}{4!}+...+\frac{1}{i!}

当i越大时,计算结果越近似于e

Demo43 组合问题I

题目描述

在数字范围[1,7]之间,任意选择两个不相同的数作为一个组合,输出每一组组合,并统计所有组合的个数

注:组合(a,b)与组合(b,a)算同一种组合,只记录一次

Demo44 组合问题II

题目描述 

有1、2、3、4这个四个数字,能组成多少个互不相同且无重复数字的三位数?分别又是多少?

Demo46 青蛙跳台阶

题目描述

一只青蛙,一次可以跳一个台阶或者两个台阶,现有n个台阶,问该青蛙有多少种不同的跳法?

例如:两个台阶,有两种跳法(1+1,2);四个台阶,有五种跳法(1+1+1+1,2+1+1,1+2+1,1+1+2,2+2)

Demo47 堆叠相加

题目描述

现有堆叠相加模式$a+aa+aaa+aaaa+aaaaa+......$

例如:$2+22+222+2222+22222$,其中a为2,且有5组数字

输入输出描述

输入两个数据分别为数字a和组数n

输出按照堆叠相加模式算出的和

示例

输入:

3 4

输出:

3702

解释:

3 + 33 + 333 + 3333 = 3702

Demo48 十进制转二进制

题目描述

输入一个十进制正整数,输出其二进制形式

输入输出描述

输入一个十进制正整数

输出二进制字符串

示例

输入:

9

输出:

1001

Demo49 二进制转十进制

题目描述

输入一个二进制字符串,输出其对应的十进制数字

输入输出描述

输入一个二进制字符串

输出十进制数字

示例

输入:

1001

输出:

9

Demo50 十进制转十六进制

题目描述

输入一个十进制正整数,输出其十六进制形式

输入输出描述

输入一个十进制正整数

输出十六进制字符串

示例

输入:

1233321

输出:

1e1b9

Demo51 十六进制转十进制

题目描述

输入一个十六进制字符串,输出其对应的十进制数字

输入输出描述

输入一个十六进制字符串

输出十进制数字

示例

输入:

1e1b9

输出:

123321

Demo53 子串出现的次数

题目描述

给定两个字符串 s1 和 s2 ,求 s2 在 s1 中出现的次数,字符区分大小写,已匹配的字符不计入下一次匹配

输入输出描述

输入两行字符串,分别为s1和s2,s2的长度小于等于s1

输出s2在s1中出现的次数

示例1

输入:

ABCsdABsadABCasdhjabcsaABCasd

ABC

输出:

3

示例2

输入:

AAAAAAAA

AAA

输出:

2

Demo55 检测密码

题目描述

一些网站会给密码强加一些规则:

(1)密码必须至少有8个字符

(2)密码只能包含英文字母和数字

(3)密码应该至少包含两个数字

(4)密码应该至少包含两个大写字母

如果密码符合规则,输出Yes;否则输出No

输入输出描述

输入一串密码

输出该密码是否符合规则

示例1

输入:

123456ab

输出:

No

示例2

输入:

123abcABC

输出:

Yes

Demo56 回文素数

题目描述

回文素数是指一个数既是素数又是回文数,例如131既是素数也是回文数

输出显示前100个回文素数,每行显示10个

Demo57 反素数

题目描述

反素数是指一个将其逆向拼写后也是一个素数的非回文数,例如17和71都是素数但不是回文数,且反转后依旧是素数

输出显示前100个反素数,每行显示10个

Demo59 梅森素数

如果一个素数可以写成$2^p-1$的形式,其中p是某个正整数,那么这个素数就称作梅森素数

输出p≤31的所有梅森素数

Demo60 平方根的近似求法

有几种实现开平方$\sqrt{n}$的技术,其中一个称为巴比伦法

它通过使用下面公式的反复计算近似地得到:
nextGuess=(lastGuess+n/lasetGuess)/2

当nextGuess和lastGuess几乎相同时,nextGuess就是平方根的近似值

lastGuess初始值为1,如果nextGuess和lastGuess的差值小于一个很小的数,比如0.0001,就可以认为nextGuess是n的平方根的近似值;否则,nextGuess成为下一次计算的lastGuess,近似过程继续执行

编写代码,求解n的平方根的近似值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C程序设计竞赛题是由《算法竞赛入门经典》作者刘汝佳编写的一本算法竞赛题。该书收录了大量的算法竞赛题目,包括基础算法、数据结构、贪心算法、动态规划、字符串处理等多个方面的内容,这些题目都是来自于各个大型编程比赛和实际编程项目中的经典案例。 C程序设计竞赛题的题目难度从易到难逐渐递增,对于初学者来说,可以学习和掌握基本的编程技巧,并且逐渐提高自己的水平。对于已经有一定编程经验的人来说,这本书可以帮助他们解决实际的编程问题,并且提高算法的实现能力。 除了提供各类算法实现的经典案例之外,C程序设计竞赛题还包含了详细的解题思路和详解,这对于独立思考和自己尝试解决问题非常有帮助。此外,该书也提供了在线评测系统和部分习题的官方解答,可以帮助读者更好的学习和提高。 总之,C程序设计竞赛题是一本非常重要的编程题,对于想要学习和提高算法竞赛能力的人来说,这本书是必不可少的参考书籍之一。 ### 回答2: "C程序设计竞赛题" 是一本由中国著名程序员刘汝佳编写的程序设计竞赛题。这本书分为基础篇、提高篇和数据结构篇三个部分。基础篇主要涉及编程基础和算法基础;提高篇增加复杂度较高的算法,并从多个角度分析对算法的优化;数据结构篇主要讨论了树、图、字符串、数据结构设计等。 "C程序设计竞赛题"不仅是一本程序员必备的参考书,也适合初学者在学习算法和数据结构时参考,可以提高他们解决复杂问题的能力,虽然编程能力并不在大学排名考核之际,但计算机编程已经成为了各领域越来越重要的一项技能,能够为大众生活工作提供更加便捷的服务,参考这本书提高自己的编程能力就有利于开拓更多的事业机会,提高自己的市场价值。 总的来说, "C程序设计竞赛题" 是一本内容较为全面的参考书,里面的题目已经得到广泛认可和应用,并且也对算法和数据结构的学习有帮助。这本书适合程序员、计算机领域的工作者和对计算机有兴趣的初学者参考阅读。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值