码迷,mamicode.com
首页 > 其他好文 > 详细

第四周作业

时间:2017-10-28 00:31:47      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:知识点   数据   知识   框架   引号   流程图   小数点   转换   语句   

#include<stdio.h>
int main()
{
    float a,b;
    scanf("%f",&a);
    if(a==0)
    printf("f(0.0) = 0.0");
    else
    {b=1/a;
    printf("f(%.1f) = %.1f",a,b);
    return 0;
    }
 } 
  • 第一步:构建函数基本框架。
  • 第二步:定义浮点数a、b分别为自变量、应变量。
  • 第三步:使用scanf语句,输入浮点数a。
  • 第四步:使用if语句,判断a是否等于0。
  • 第五步:如果a等于0,输出f(0.0) = 0.0。
  • 第六步:如果a不等于0,对b赋1/a的值。输出f(a)=b,a、b均保留一位小数。
  • 遇到的问题:开始我想直接用b=1/a一个式子来计算所有的情况,结果发现算出的结果不对
  • 技术分享

     

  • 解决方案:使用if语句判断a是否等于0,分开计算,若a=0,直接输出f(0.0) = 0.0;
  • 流程图:技术分享

     

#include<stdio.h>
int main()
{
    float A,B,C;
    scanf("%f %f",&A,&B);
    C=A/B;
    if(B==0)
    printf("%d/0=Error",(int)A);
    else if(B<0)
    printf("%d/(%d)=%.2f",(int)A,(int)B,C);
    else
    printf("%d/%d=%.2f",(int)A,(int)B,C);
    return 0;
 } 
  • 第一步:构建函数基本框架。
  • 第二步:定义浮点数A、B、C,C为A/B的值。
  • 第三步:用if函数先判断B是否为零。
  • 第四步:若B为零,输出A/0=Error,因输出的A、B不带小数点,所以程序所有输出中A、B强制定义为整形数据。
  • 第五步:否则输出A/B=C,双引号中A、B使用%d代替,C使用%.2f代替。
  • 遇到的问题:输出的结果A、B都带有小数,不知道已经赋值A、B怎么转换成整型。
  • 技术分享

     

  • 解决方案:把printf中的%.1f改成%d,同时在printf中的A、B前加(int),强制把A、B转换成整型。
  • 流程图:技术分享

     

#include<stdio.h>
int main()
{
    float a,b;
    scanf("%f",&a);
    if(a>=0){
    if(a<=50)
     b=a*0.53;
    else
     b=0.58*(a-50)+50*0.53;
     printf("cost = %.2f",b);}
     else printf("Invalid Value!");
     return 0;
}
  • 第一步:构建函数基本框架。
  • 第二步:定义浮点数a、b,a为用户月用电量,b为用户应交电费。
  • 第三步:输入a。
  • 第四步:使用if语句判断a是否大于等于零。
  • 第五步:若是,内嵌一个if语句,判断a是否小于50。
  • 第六步:内嵌if语句中,若是b=a*0.53,否则b=0.58*(a-50)+50*0.53。输出cost = b,b保留两位小数。
  • 第七步:如果a<0,则输出Invalid Value!
  • 本题没有遇到问题。
  • 流程图:技术分享

     

  • #include<stdio.h>
    int main()
    {
         float a,c;
         int b,e,f,t;
         scanf("%f %d",&a,&b);
         if(a<=3)
         c=10;
         else if(3<a&&a<=10)
         c=10+(a-3)*2;
         else if(10<a&&a<=13)
         c=10+7*2.0+(a-10)*3;
         else
         c=10+7*2.0+(a-10)*3;
         e=(b/5)*2;
         if(c-(int)c<0.4)
         t=(int)c/1;
         else
         t=(int)c/1+1;
         f=e+t;
         printf("%d",f);
         return 0;
    }

     

  • 第一步:构建函数基本框架。
  • 第二步:定义浮点数a、c,a为行驶的里程,c仅为行驶的路程应付的费用。
  • 第三步:定义整形数不b、e、f、t。b为行驶途中等待的时间,e为等待时应付的费用,t为浮点数c四舍五入后的值、f为乘客应支付的车费。
  • 第四步:输入a、b。
  • 第五步:使用if语句判断a是否小于等于3,若是c=10,若不是使用if语句判断a是否大于3,小于等于10.
  • 第六步:若是c=10+(a-3)*2。若不是c=10+7*2.0+(a-10)*3;
  • 第七步:使用/使b/5乘以2算出等待时应付的车费。
  • 第八步:使用if语句判断c的小数部分是否小于0.4.
  • 第九步:若是t等于c的整形,若不是t等于c的整形加1。
  • 第十步:f=e+t。
  • 第十一步:输出f。
  • 遇到的问题:不理解题意,开始误认为,是在3公里之后10公里才开始计价2元每公里,到了13公里之后计价每公里3元,因为题目是“超起步里程后10公里内,每公里2元”所以我以为是3公里之后的10公里,实际上这3公里也包含在10公里之内。
  • 结果写成了技术分享

     

  • 流程图:技术分享

     

  • git地址:https://git.coding.net/Myboss/Homework.git
  • 上传截图:技术分享

     

  • 内容总结(知识点):1对于已经赋值的数据,可以在数据前加一个括号,括号内加入你想转换的数据类型,这样数据就可以强制转换成想要的类型。2.使用#include<stdlib.h>可以不用return 0。3.语句system(“pause”);表示暂停程序运行。
  • 代码行数 时间 博客字数 时间 涉及知识点
    139 3H 400字左右 6H ————————————
  • 孙美玲:http://www.cnblogs.com/sunmeiling/p/7745182.html
  • 郭志康:http://www.cnblogs.com/gzk08-20/p/7709327.html
  • 陈盈驰http://www.cnblogs.com/1999-cyc/p/7735327.html
  • 技术分享

     

第四周作业

标签:知识点   数据   知识   框架   引号   流程图   小数点   转换   语句   

原文地址:http://www.cnblogs.com/boke2017boke/p/7739295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!