• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

xiaohaiyang

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

c语言分支与循环pta练习题

7-7 高空坠球

皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?

输入格式:

输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。

输出格式:

在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。

输入样例:

33 5
 

输出样例:

94.9 1.0


#include <stdio.h>

int main() {

long a, b, i, sum = 0;
scanf("%d %d", &a, &b);
for (i = 1; i <= b; i++) {
sum = sum + a + a / 2;
a = a / 2;
}
printf("%ld\n", a);
printf("%ld\n", sum);
return 0;
}



7-6 猜数字游戏

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

输入格式:

输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。

输出格式:

在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。

输入样例:

58 4
70
50
56
58
60
-2
 

输出样例:

Too big
Too small
Too small
Good Guess!
 

int main() {
int a, b, c = 1, N;
scanf("%d%d", &a, &N);
scanf("%d", &b);
while (b != a && c <= N) {
if (b > a)
printf("Too big");
else if (b < a)
printf("Too small");
c += 1;
scanf("%d", &b);
}
if (c == 1)
printf("Bingo!");
else if (c == 2 || c == 3)
printf("Luckey You!");
else if (c > 3 && c <= N)
printf("Good Guess!");
else
printf("Game Over");

 

posted on 2022-12-07 22:19  caties  阅读(96)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3