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