当前位置: 首页 > news >正文

PTA刷题笔记2

·7-7 12-24小时制

代码如下:

#include<stdio.h>int main()
{int original_hour = 0;int original_minute = 0;scanf("%d:%d", &original_hour, &original_minute);if(original_hour > 12){int last_hour = original_hour - 12;printf("%d:%d PM", last_hour, original_minute);}else if(original_hour < 12 && original_hour != 0){printf("%d:%d AM", original_hour, original_minute);}else if(original_hour == 0){printf("0:%d AM", original_minute);}else if(original_hour == 12){printf("12:%d PM", original_minute);}return 0;
}

·7-8 超速判断

代码如下:

#include<stdio.h>int main()
{int n = 0;scanf("%d", &n);if(n > 60){printf("Speed: %d - Speeding", n);}else{printf("Speed: %d - OK", n);}return 0;
}

7-9 用天平找小球

代码如下:

#include<stdio.h>int main()
{int a, b, c;scanf("%d %d %d", &a, &b, &c);if(a == b){printf("C");}else if(a == c){printf("B");}else if(b == c){printf("A");}return 0;
}

·7-10 计算工资

代码如下:

#include<stdio.h>int main()
{int year = 0;int time = 0;scanf("%d %d", &year, &time);float ans = 0.0;if(year < 5){if(time <= 40){ans = 30 * time;}else{ans = 40 * 30 + (time - 40) * 45;}}else{if(time <= 40){ans = 50 * time;}else{ans = 40 * 50 + (time - 40) * 75;}}printf("%.2f", ans);return 0;
}

·7-11 分段计算居民水费

代码如下:

#include<stdio.h>int main()
{float x = 0.0;scanf("%f", &x);float y = 0.0;if(x <= 15){y = 4 * x / 3.00;}else{y = 2.5 * x - 17.5;}printf("%.2f", y);return 0;
}

7-12 两个数的简单计算器

代码如下:

#include<stdio.h>int main()
{int a, b;char ch;int ans = 0;scanf("%d %c %d", &a, &ch, &b);if(ch == '+'){ans = a + b;}else if(ch == '-'){ans = a - b;}else if(ch == '*'){ans = a * b;}else if(ch == '/'){ans = a / b;}else if(ch == '%'){ans = a % b;}else{printf("ERROR");return 0;}printf("%d", ans);return 0;
}

优化代码:

#include<stdio.h>int main()
{int a, b;char ch;scanf("%d %c %d", &a, &ch, &b);switch(ch){case'+' :printf("%d", a + b);break;case'-' :printf("%d", a - b);break;case'*':printf("%d", a * b);break;case'/' :printf("%d", a / b);break;case'%' :printf("%d", a % b);break;default :printf("ERROR");}return 0;
}

·7-13 日K蜡烛图

代码如下:

#include<stdio.h>int main()
{float Open, Close, High, low;scanf("%f %f %f %f", &Open, &High, &low, &Close);if(Close < Open){if((low < Open && low < Close) && (High > Open && High > Close)){printf("BW-Solid with Lower Shadow and Upper Shadow");}else if(low < Open && low < Close){printf("BW-Solid with Lower Shadow");}else if(High > Open && High > Close){printf("BW-Solid with Upper Shadow");}else{printf("BW-Solid");}}else if(Close > Open){if((low < Open && low < Close) && (High > Open && High > Close)){printf("R-Hollow with Lower Shadow and Upper Shadow");}else if(low < Open && low < Close){printf("R-Hollow with Lower Shadow");}else if(High > Open && High > Close){printf("R-Hollow with Upper Shadow");}else{printf("R-Hollow");}}else if(Close == Open){if((low < Open && low < Close) && (High > Open && High > Close)){printf("R-Cross with Lower Shadow and Upper Shadow");}else if(low < Open && low < Close){printf("R-Cross with Lower Shadow");}else if(High > Open && High > Close){printf("R-Cross with Upper Shadow");}else{printf("R-Cross");}}return 0;
}

优化代码:

#include <stdio.h>void printCandlePattern(const char* basePattern, int hasLowerShadow, int hasUpperShadow) {if (hasLowerShadow && hasUpperShadow) {printf("%s with Lower Shadow and Upper Shadow", basePattern);} else if (hasLowerShadow) {printf("%s with Lower Shadow", basePattern);} else if (hasUpperShadow) {printf("%s with Upper Shadow", basePattern);} else {printf("%s", basePattern);}
}int main() {float Open, Close, High, Low;scanf("%f %f %f %f", &Open, &High, &Low, &Close);int hasLowerShadow = (Low < Open && Low < Close);int hasUpperShadow = (High > Open && High > Close);if (Close < Open) {printCandlePattern("BW-Solid", hasLowerShadow, hasUpperShadow);} else if (Close > Open) {printCandlePattern("R-Hollow", hasLowerShadow, hasUpperShadow);} else { // Close == OpenprintCandlePattern("R-Cross", hasLowerShadow, hasUpperShadow);}return 0;
}

·7-14 求整数段和

代码如下:

#include<stdio.h>int main()
{int a, b = 0;scanf("%d %d", &a, &b);int sum = 0;int count = 0;for(int i = a; i <= b; i ++){printf("%5d", i);sum += i;count ++;if(count % 5 == 0 || i == b)//每五个数字换行,或者到达最后一个数字时换行{printf("\n");}}printf("Sum = %d", sum);return 0;
}

相关文章:

  • 进考场!软考考试现场答题的注意事项
  • 列表集合字典推导式
  • 互联网大厂Java求职面试:云原生架构与AI应用集成解决方案
  • SkyWalking高频采集泄漏线程导致CPU满载排查思路
  • springboot配置mysql druid连接池,以及连接池参数解释
  • 系统架构设计师脑图
  • 【c++】: c++11线程库
  • 重读《人件》Peopleware -(12-1)Ⅱ 办公环境 Ⅴ 大脑时间与身体时间(上)
  • python实战:Python脚本后台运行的方法
  • Redis主从+哨兵+集群分片
  • 树莓派4B搭建Hector SLAM算法, ROS1 ROS2?
  • 短视频与直播场景下的美颜SDK优化方案:滤镜与特效如何平衡性能与美感?
  • 方洪波摸着雷军,“甩掉”小米
  • FPGA 42 ,时序约束深度解析与实战应用指南( FPGA 时序约束 )
  • 独木桥 Java
  • 应用案例 | 柔性生产新范式,优傲UR20赋能葡萄酒灌装产线
  • Servlet的继承关系和生命周期
  • 小白学习顺序表 之 通讯录实现
  • 《算法导论(第4版)》阅读笔记:p115-p126
  • 【GPU并行计算】不同设备上的GPU性能分析
  • 手机网站发布页电脑版/长沙网站推广 下拉通推广
  • 开发公司组织架构及岗位职责/厦门网站优化
  • 辽宁省建设银行网站/线上销售怎么做推广
  • 如何利用js来做网站表单/seo推广培训费用
  • 做网站用win还是li/网络营销的工作内容包括哪些
  • 专业app网站建设/公司网站如何推广