c语言:头歌选择结构程序设计进阶

文章介绍了三个编程练习:计算基于重量和区域的快递费用,解决一元二次方程的根,以及格式化产品信息。每个部分涉及输入验证、公式计算和输出格式控制。
摘要由CSDN通过智能技术生成

第1关:快递费用计算

编写程序,从键盘输入邮件的目的区域编码和重量,计算并输出运费,计算结果保留2位小数。

提示

续重部分不足一公斤,按1公斤计算。因此,如包裹重量2.3公斤:1公斤算起重,剩余的1.3公斤算续重,不足1公斤按1公斤计算,1.3公斤折合续重为2公斤。如果重量应大于0、区域编号不能超出0-4的范围。

#include<stdio.h>
#include<math.h>
	int main(void)
	{  
	  /*********Begin*********/
	  int x;
      double n,p,m;
      scanf("%d,%lf",&x,&n);
      m = ceil(n)-1.0;
      if(x==0){
          p = 10+3.0*m;
      }
      else if(x==1){
          p = 10+4.0*m;
      }
      else if(x==2){
          p = 15+5.0*m;
      }
      else if(x==3){
          p = 15+6.5*m;
      }
      else if(x==4){
          p = 15+10.0*m;
      }	
      else
         printf("Error in Area\n");

      printf("Price: %.2f\n",p);
	  /*********End**********/ 
       return 0;
	}

第2关:计算一元二次方程的根

根据提示,在右侧编辑器Begin-End处补充代码,按照要求完成本关任务。 ####输入

输入格式: "%f,%f,%f"

输出

输入提示信息:"Please enter the coefficients a,b,c:\n"

输出格式:"x1=%.4f, x2=%.4f\n"

输入错误提示信息:"error!\n"

#include<stdio.h>
#include<math.h>
	int main(void)
	{  
	  /*********Begin*********/
	  float a,b,c,delta,x1,x2;
      scanf("%f,%f,%f",&a,&b,&c);
      delta = b*b-4.0*a*c;
      printf("Please enter the coefficients a,b,c:\n");
      if(delta<0){
          printf("error!\n");
      }
      else{
          delta = pow(b*b-4.0*a*c,0.5);
          x1 = (-b+delta)/(2.0*a);
          x2 = (-b-delta)/(2.0*a);
          printf("x1=%.4f, x2=%.4f\n",x1,x2);
      }
	  
	  /*********End**********/ 
       return 0;
	}

第3关:产品信息格式化

输入 产品编号输入格式:"%d"

产品价格输入格式:"%f"

购买日期输入格式:"%d/%d/%d"

输出 产品编号输入提示信息:"Enter item number:\n"

产品价格输入提示信息:"Enter unit price:\n"

购买日期输入提示信息:"Enter purchase date (mm/dd/yy):\n"

格式化输出的表头信息:"Item Unit Purchase\n"

输出格式:"%-9d$ %-9.2f%02d%02d%02d\n"

#include<stdio.h>
	int main(void)
	{  
	  /*********Begin*********/
	    int i,d,m,y;
      float p;
      printf("Enter item number:\n");
      scanf("%d",&i);
      printf("Enter unit price:\n");
      scanf("%f",&p);
      printf("Enter purchase date (mm/dd/yy):\n");
      scanf("%d/%d/%d",&d,&m,&y);
      printf("Item Unit Purchase\n");
      printf("%-9d$ %-9.2f%02d%02d%02d\n",i,p,d,m,y);
      
	  
	  /*********End**********/ 
       return 0;
	}

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

czy,出发!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值