问一道关于编写程序的应用题(高一数学)
打电话收费。不超过3分钟收0.2元,超过的部分每分钟0.1元,不足一分钟按一分钟来计,设计一个算法。我不知道不足一分钟的按一分钟来算的话应该怎样取整?不如3.5分钟怎样自...
打电话收费。不超过3分钟收0.2元,超过的部分每分钟0.1元,不足一分钟按一分钟来计,设计一个算法。
我不知道不足一分钟的按一分钟来算的话应该怎样取整?
不如3.5分钟怎样自动换成4分钟
回答满意就追加15分
只是高一啊,请不要写些太复杂的程序,我只知道一些基本的内容 展开
我不知道不足一分钟的按一分钟来算的话应该怎样取整?
不如3.5分钟怎样自动换成4分钟
回答满意就追加15分
只是高一啊,请不要写些太复杂的程序,我只知道一些基本的内容 展开
4个回答
展开全部
#include<stdio.h>
void main()
{
int a,b,i; //a为单价,b为总价,取整型
if (a<=3).
{b=0.2*3};
else
{i=a/1; //向下取整 ,下面算法需要+1
b=(i+1-3)*0.1+3*0.2;
}
printf(%d,b); // 输出总价
}
void main()
{
int a,b,i; //a为单价,b为总价,取整型
if (a<=3).
{b=0.2*3};
else
{i=a/1; //向下取整 ,下面算法需要+1
b=(i+1-3)*0.1+3*0.2;
}
printf(%d,b); // 输出总价
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main(){
double time,cost;
int t;
scanf("%lf",&time);
t=ceil(time); //ceil是上取整函数
cost=0.0;
if(t<=3) cost=0.2;
if(t>3) cost=0.2+0.1*(t-3);
printf("%.1lf\n",cost);
return 0;
}
#include<cstdio>
#include<cmath>
using namespace std;
int main(){
double time,cost;
int t;
scanf("%lf",&time);
t=ceil(time); //ceil是上取整函数
cost=0.0;
if(t<=3) cost=0.2;
if(t>3) cost=0.2+0.1*(t-3);
printf("%.1lf\n",cost);
return 0;
}
追问
我还没学过这么复杂的算法啊,没有简单易懂点的吗?
追答
这个没什么算法吧,就求一个分段函数的值,你画个图看看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
高一应该是VB语言,所以应该用int函数,例int(3.5)=3,你用变量时只要再加个1就是不足一分钟按一分钟算了,其他的应该没问题了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你用的是什么语言,一般来说,每个语言都会有ceil()函数,可以采用。可能需要引用。最简单的,可以用int(x+0.999999)来实现,至于几个9就看你的精度要求了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询