实验 4 在分支循环结构中调用自定义函数
1.利用循环计算多个圆柱体体积。
要求:
1. 当输入的半径r或h<=0时,提示输入错误,重新输入;
2. r和h为整形;
3. 利用变量n代表多少个圆柱需要计算,n由键盘输入;
4. 连续计算n个圆柱体体积;
5. 体积计算过程放到自定义函数中实现。
#include<stdio.h> double cylinder(double r,double h); int main(void) { int i,n,r,h; double v; printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("Enter h:"); scanf("%d",&h); printf("Enter r:"); scanf("%d",&r); if(r<=0||h<=0){ printf("输入错误。\n"); } else{ v=cylinder(r,h); printf("v=%.2f\n",v); } } return 0; } double cylinder(double r,double h) { double v; v=3.1415926*r*r*h; return v; }
2.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分两个“阶梯”:月用电量 50 千瓦时以内的,电价为 0.53 元/千瓦时;超过 50 千瓦时的用电量,电价上调 0.05 元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。
要求:
1. 当输入用电量<=0时,提示输入错误,重新输入;
#include<stdio.h> int main(void) { int i,n,w; double p; printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("Enter w:"); scanf("%d",&w); if(w<=0){ printf("输入错误,重新输入。\n"); } else if (w<=50){ p=0.53*w; printf("p=%.2f\n",p); } else { p=0.53*50+0.58*(w-50); printf("p=%.2f\n",p); } } return 0; }
3.同上题,计算多个用户的电费(元)。
要求:
1. 当输入用电量<=0时,提示输入错误,重新输入;
2. 利用变量m代表多少个用户
3. 连续计算m个用户的电费;
4. 计算电费的过程放到自定义函数中实现,提示:将上题的电费计算过程放到自定义函数中。
#include<stdio.h> int main(void) { int i,n; double p,w; double fee(double w); printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("Enter w:"); scanf("%Lf",&w); if(w<=0){ printf("输入错误,重新输入。\n"); } else { p=fee(w); } printf("p=%.2f\n",p); return 0; } double fee(double w) { double p; if (w<=50){ p=0.53*w; } else { p=0.53*50+0.58*(w-50); } return p; }