devc++某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的按八折付款。编一程序完成超市的自动计费工作。
时间: 2023-05-29 14:01:21 浏览: 123
price = float(input("请输入购物金额:"))
if price < 50:
pay = price
print("购物金额不足50元,按原价付款,需付款:%.2f元" % pay)
elif price < 100:
pay = price * 0.9
print("购物金额超过50元不足100元,按九折付款,需付款:%.2f元" % pay)
else:
pay = price * 0.8
print("购物金额超过100元,按八折付款,需付款:%.2f元" % pay)
相关问题
用Devc++for语句编程实现:1+2+3+4+……+100的值
以下是使用DevC++编程实现输出1到100的代码:
```c
#include <stdio.h>
int main()
{
int i;
for(i=1;i<=100;i++)
{
printf("%d ",i);
}
return 0;
}
```
输出结果为:
```
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
```
在dev-c++中为什么不显示19:50前面的数据
在Dev-C++中,代码的输出结果可能会被缓冲区所影响,导致不立即显示。这可能会导致您在程序执行期间看不到之前的输出数据。
您可以尝试在打印数据之后加上`fflush(stdout);`语句,以强制刷新缓冲区并立即显示输出结果。修改后的代码如下所示:
```c
#include <stdio.h>
#include <math.h>
int main() {
double maxTemp = 25.0; // 最高温度
double minTemp = -15.0; // 最低温度
double amplitude = (maxTemp - minTemp) / 2.0; // 振幅
double meanTemp = minTemp + amplitude; // 平均温度
// 一天的时间范围(以分钟为单位)
int minutesPerDay = 24 * 60;
// 每5分钟的时间间隔
int interval = 10;
// 计算并打印温度数据
int i = 0;
for (i; i <= minutesPerDay; i += interval) {
// 计算当前时间的弧度
double radian = 2 * M_PI * i / minutesPerDay;
// 计算当前时间的温度
double temperature = meanTemp + amplitude * sin(radian);
// 打印时间和温度
printf("%02d:%02d - %.2f°C\n", i / 60, i % 60, temperature);
fflush(stdout);
}
return 0;
}
```
请注意,这只是一种可能的解决方法,具体效果可能因操作系统和编译器的不同而有所差异。如果问题仍然存在,请尝试在其他环境中运行代码。