菜鸟程序员


私信TA

用户名:yaoyichen

访问量:7457

签 名:

一名会编程的初中生

等  级
排  名 1095
经  验 3117
参赛次数 4
文章发表 23
年  龄 13
在职情况 学生
学  校 常州外国语学校
专  业

  自我简介:

一名会编程的初中学生(很菜)

TA的其他文章

前天刚参加完2022程序设计小能手比赛,今天来讲解一下其中的第一道题目。

题目名为“阶梯电量”,分值60。

题目描述:(可能不怎么清楚,因为我还没拿到WPS原版)

3PV(WG31GDJZ3_428`I5YVD.png

TDZ4B5VEI5`Q2$IFQ[Z@55G.png

C1~RX{XILB[4KNE]M3V[Y0H.png

我当时看到这道题一开始觉得很简单:不就是判断吗

结果一做:

#includeusing namespace std;
int main()
{
    int u,v;
    cin>>u>>v;
    if(u<=2760&&u<=4800)
	{
		………………………………
		………………………………
                ……………………………………
                ……………………………………
                ……………………………………
                ………………………………
		………………………………
                ……………………………………
                ……………………………………
                ……………………………………
                ………………………………
		………………………………
                ……………………………………
                ……………………………………
                ……………………………………
        
	}



    return 0;
}

好家伙,写得我头晕眼花的。

这道题其实有两种解法,一种是看测试点,一种是枚举。

看测试点就比较直接粗暴,但是注意在用else if的时候到最后不要写else!!!我就是被这个坑了10分。

另一种是枚举,这个就非常简单,思路就是运用循坏枚举,从u+1(上个月的电量+1)开始,到这个月的电量结束。其中,如果有未达到2760度的电量,每度电就加0.52元,以此类推。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int u,v;
    double js=0;
    cin>>u>>v;
    for(int i=u+1;i<=v;i++)
    {
    	if(i<=2760)
    	{
    		js+=0.52;
		}
		else if(i>2760&&i<=4800)
		{
			js+=0.57;
		}
		else if(i>4800)
		{
			js+=0.82;
		}
	}
	cout<<fixed<<setprecision(2)<<js;


    return 0;
}

制作不易,给个高分,谢谢。
















 

0.0分

16 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

非常感谢大家的高度认可,我会继续努力的
2022-05-19 20:20:00
  • «
  • 1
  • »