当前位置:   article > 正文

洛谷入门1【顺序结构】题单题解_洛谷再分肥皂水题目

洛谷再分肥皂水题目

目录

超级玛丽

字母转换

 数字反转

再分肥皂水

小鱼的游泳时间

小学数学N合1

三角形面积

苹果和虫子

对角线

上学迟到


【入门1】顺序结构 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

超级玛丽

  • C++多行输出用 R"( )"
  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4. cout<<R"( ********
  5. ************
  6. ####....#.
  7. #..###.....##....
  8. ###.......###### ### ###
  9. ........... #...# #...#
  10. ##*####### #.#.# #.#.#
  11. ####*******###### #.#.# #.#.#
  12. ...#***.****.*###.... #...# #...#
  13. ....**********##..... ### ###
  14. ....**** *****....
  15. #### ####
  16. ###### ######
  17. ##############################################################
  18. #...#......#.##...#......#.##...#......#.##------------------#
  19. ###########################################------------------#
  20. #..#....#....##..#....#....##..#....#....#####################
  21. ########################################## #----------#
  22. #.....#......##.....#......##.....#......# #----------#
  23. ########################################## #----------#
  24. #.#..#....#..##.#..#....#..##.#..#....#..# #----------#
  25. ########################################## ############)"<<endl;
  26. return 0;
  27. }

字母转换

  • 题目:输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。
  • 注意 :toupper 返回的是int值,若要返回一个字母,还要加上char,即char(toupper())
    1. #include<iostream>
    2. #include<ctype.h>
    3. using namespace std;
    4. int main(){
    5. char a;
    6. cin>>a;
    7. cout<<char(toupper(a));
    8. return 0;
    9. }

    C++API toupper

 数字反转

  •              利用scanf和printf
  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. char a,b,c,d;
  5. scanf("%c%c%c.%c",&a,&b,&c,&d);
  6. printf("%c.%c%c%c",d,c,b,a);
  7. return 0;
  8. }

再分肥皂水

  • 输入保留三位小数 %.3f
printf("%.3f\n",t/n);

小鱼的游泳时间

 

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. int a,b,c,d;
  5. cin>>a>>b>>c>>d;
  6. //在同一天,c一定大于a,只需要判断d和b
  7. if(d>=b)
  8. {
  9. cout<<c-a<<" "<<d-b;
  10. }
  11. else
  12. {
  13. cout<<c-a-1<<" "<<d+60-b;
  14. }
  15. return 0;
  16. }

小学数学N合1

  • 注意1.0/4 和 1/4 的区别
  • 如果是1/4 得出结果为0, 1/3同理 但是1.0/4 会得出0.25

 1/4 int类型, 1.0/4 double类型;  1/4.0 double类型 也得出0.25

表达式的结果为最高类型的结果 

  1. else if(T==13)
  2. {cout<<(int)(pow(1.0*4/3*pi*1064,1.0/3))<<endl;}

三角形面积

  • sqrt平方根函数

 

苹果和虫子

  • 剩下几个完整的苹果,那么吃了几口的苹果肯定不算,最后结果转为int 直接抹去小数点后

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. double m,t,s;
  5. cin>>m>>t>>s;
  6. if(t==0) //注意当吃一个苹果需要0分钟时,意思是吃苹果很快,最后肯定剩下0个苹果。
  7. {cout<<"0"<<endl;}
  8. else if((int)(m-s/t)<=0){
  9. cout<<"0"<<endl;}
  10. else{
  11. cout<<(int)(m-s/t)<<endl;}
  12. return 0;
  13. }

对角线

  • 四个顶点有一个对角线交点 
  • unsigned long long范围比long long范围大 
  • unsigned long long 的范围是[0,2^64-1]。long long 的范围是[-2^63-1,2^63+1]
  • n和n-1一定有一个是2的倍数,因此2可以除尽;同理n,n-1,n-2中一定有一个是3的倍数,因此3可以除尽(除掉2只会消除因数2而对3没有影响);同理4也可以除尽

  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. unsigned long long n;
  5. cin>>n;
  6. cout<<n * (n-1) / 2 * (n-2) / 3 * (n-3) / 4<<endl;
  7. return 0;
  8. }

 

上学迟到

  • ceil()向上取整
  1. #include<iostream>
  2. #include<math.h>
  3. using namespace std;
  4. int main() {
  5. double s, v;
  6. int hour = 7, min;
  7. cin >> s >> v;
  8. int total = ceil(s / v) + 10; //ceil() 向上取整 3/2=2 ceil(s/v) eg:花费3.2分钟,按照4分钟计算
  9. int totalhour = total / 60;
  10. min = 60 - total % 60; //70min, 6:50 60-10
  11. if (total % 60 == 0)
  12. min = 00;
  13. while (totalhour--)
  14. {
  15. hour--; //如果只写if (hour < 0) 当hour = 24;时 结果中有2430 hour从7开始设置,前一天同理,
  16. if (hour < 0 && min != 00)
  17. hour = 23;
  18. else if (hour < 0)
  19. hour = 24;
  20. }
  21. printf("%02d:%02d",hour ,min );
  22. return 0;
  23. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/429953
推荐阅读
相关标签
  

闽ICP备14008679号