第六周作业

7-1 高速公路超速处罚

1.实验代码

#include <stdio.h>
int main ()
{
  int speed,speedlimit;
  double x;
  scanf("%d %d",&speed,&speedlimit);
  x = (double)(speed-speedlimit)*100/speedlimit;
  if(x>=50)
  {
      printf("Exceed %.0f%%. License Revoked",x);
  }
  else if(x>10)
  {
      printf("Exceed %.0f%%. Ticket 200",x);
  }
  else
  {
      printf("OK");
  }
  return 0;
}

2.设计思路

1)题目算法:

a:记清第一个输入的数值表示当前的速度,第二个是限速

b:定义两个整型变量speed,speedlimit,一个浮点型变量x,关系为 x = (double)(speed-speedlimit)*100/speedlimit,因为speed,speedlimit为整型变量,所以用double进行强制转换

c:对x值的不同进行范围分类,输出x值不同的情况下对应输出的值

2)流程图:

3.问题及解决办法

遇到的问题是用speed,speelimit表示x的语句不当,导致输出的结果一直错误,后来是通过百度解决的

4.提交列表:

7-2 计算油费

1.实验代码:

#include <stdio.h>
int main ()
{
  int a,b;
  char c1;
  double f,r1,r2;
  scanf("%d %d %c",&a,&b,&c1);
  f = 0;
  switch(b)
  {
    case 90:r1 = 6.95;break;
    case 93:r1 = 7.44;break;
    case 97:r1 = 7.93;break;
  }
  switch(c1)
  {
    case 'm':r2 = 0.95;break;
    case 'e':r2 = 0.97;break;
  }
  f = r1*r2*a;
  printf("%.2f",f);
  return 0;
}

2.设计思路

1):题目算法

a: a代表加油量,b代表油的种类,r1表示油价,r2表示折扣,f表示应付款额,对a,b进行整型变量定义,对r1,r2,f进行浮点型变量定义,对服务类型c进行字符型定义

b: 用switch多分支选择语句,switch(b)对应输入不同的b值输出不同的油价,switch(cl)对输入不同的cl值输出对应不同的折扣

c: 对f进行定义,f = r1*r2*a,输出f的值

2):流程图

并没有遇到什么大的问题

4.提交列表

7-3 比较大小

1实验代码

#include <stdio.h>
int main ()
{
  int a,b,c,min,mid,max;
 scanf("%d %d %d",&a,&b,&c);
 if(a>b)
 {
     max = a,min = b;
 }else
 {
     max = b,min = a;
 }if(max<c)
  {
    mid = max,max = c;
  }else
  {
    if(min>c)
 {
     mid = min,min = c;
  }else
  {
      mid = c;
  }
  }
  printf("%d->%d->%d",min,mid,max);
  return 0;
}

2.设计思路

1):题目算法

a:输入a,b,c三个整数,根据a,b,c的大小对min,mid,max进行赋值

b:按照顺序输出min->mid->max

2):流程图

3.遇到的问题及解决方法

不知道如何将数以->的符号连接输出,最后通过网上查询得知以printf("%d->%d->%d",min,mid,max)形式输出

4.提交列表

7-4 两个数的简单计算器

#include <stdio.h>
int main ()
{
  char cl;
  int a,b,c;
  scanf("%d %c %d",&a,&cl,&b);
  switch(cl)
  {
    case'+':c = a+b,printf("%d",c);break;
    case'-':c = a-b;printf("%d",c);break;
    case'*':c = a*b;printf("%d",c);break;
    case'/':c = a/b;printf("%d",c);break;
    case'%':c = a%b;printf("%d",c);break;
    default:printf("ERROR");
  }
  
}

2.设计思路

1):题目算法

a:对a,b,c进行整型变量,cl为字符型变量,输入a,b,对cl进行不同的赋值

b:不同的cl的赋值,输出对应的c值

2):流程图

因为7-2中运用了switch语句,所以这题并没有大问题

4.提交列表

我的git地址:https://git.coding.net/exo07/disizhouzuoye.git

本周主要学习了for循环语句,while语句,do   while语句,包括循环语句中使用break,countinue·

主要是对循环语句中用break,countine比较不熟练

觉得老师上课很好,将讲课和实践一起运用到课堂上

董欣:http://www.cnblogs.com/dx2017/p/7794801.html

李晓静:http://www.cnblogs.com/lixiaojing/p/7798963.html

赵寅胜:http://www.cnblogs.com/2017023960ZYS/p/7800966.html

 

posted @ 2017-11-11 23:13  董雅洁  阅读(177)  评论(7编辑  收藏  举报