3125:练21.2 邮寄包裹
练 21.2邮寄包裹
【信息学奥赛一本通-编程启蒙】3125练21.2 邮寄包裹
C语言代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
double n,ans=0.2;
scanf("%lf",&n);
if(n>30){
printf("Fail");
return 0;
}
else if(n<=10){
ans+=n*0.8;
}
else if(n>10&&n<=20){
ans+=8+(n-10)*0.75;
}
else{
ans+=8+7.5+(n-20)*0.7;
}
printf("%.2f",ans);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
long long n;
double ans=0.2;
scanf("%lld",&n);
if(n>30)
{
printf("Fail");
return 0;
}
else
{
if(n<=10)
{
ans=0.2+0.8*n;
}
else
{
if(10<n&&n<=20) ans=8.2+0.75*(n-10);
else
{
if(20<n&&n<=30) ans=15.7+0.7*(n-20);
}
}
}
printf("%.2f",ans);
return 0;
}
C++代码:
#include <bits/stdc++.h>
using namespace std;
long long n;
int main(){
cin >> n; // 读入包裹的重量
if(n > 30) // 如果包裹的重量超过 30 千克,无法邮寄
cout << "Fail";
else if(n <= 10) // 如果包裹的重量小于等于 10 千克
cout << fixed << setprecision(2) << 0.2 + n * 0.8; // 所需费用为 0.2 + n * 0.8
else if(n > 10 and n <= 20) // 如果包裹的重量大于 10 千克且小于等于 20 千克
cout << fixed << setprecision(2) << 8.2 + (n - 10) * 0.75; // 所需费用为 8.2 + (n - 10) * 0.75
else // 如果包裹的重量大于 20 千克且小于等于 30 千克
cout << fixed << setprecision(2) << 15.7 + (n - 20) * 0.7; // 所需费用为 15.7 + (n - 20) * 0.7
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main()
{
long n;
double ans=0.2;
cin>>n;
if(n>30){cout<<"Fail";return 0;}
else if(n<=10){
ans=0.2+0.8*n;
}else if(10<n&&n<=20) ans=8.2+0.75*(n-10);
else if(20<n&&n<=30) ans=15.7+0.7*(n-20);
printf("%.2f",ans);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
double n,ans=0.2;
cin>>n;
if(n>30){
cout<<"Fail";
return 0;
}
else if(n<=10){
ans+=n*0.8;
}
else if(n>10&&n<=20){
ans+=8+(n-10)*0.75;
}
else{
ans+=8+7.5+(n-20)*0.7;
}
printf("%.2f",ans);
return 0;
}
python3代码:
x=int(input())
if x<=10:
print("%.2f"%(x*0.80+0.20))
else:
if x<=20:
print("%.2f"%(10*0.80+(x-10)*0.75+0.20))
else:
if x<=30:
print("%.2f"%(10*0.80+10*0.75+(x-20)*0.70+0.20))
else :
print("Fail")
NOIP2009普及组 第23题
NOIP2009普及组 第24题
NOIP2009普及组 第25题
NOIP2009普及组 第26题
NOIP2010年普及组初赛真题讲解
2011-2020NOIP/CSP普及组初赛真题解析
NOIP 2014 普及组初赛试题