c++语言第二次作业

一题目7-1统计学生成绩

1实验代码

#include<stdio.h>
int main(void)
{
  int i,n,grade,A,B,C,D,E;
  A=B=C=D=E=0;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    scanf("%d",&grade);
    if(grade>=90)A++;
    else if(grade>=80)B++;
    else if(grade>=70)C++;
    else if(grade>=60)D++;
    else E++;
  }
  printf("%d %d %d %d %d",A,B,C,D,E);
  return 0;
}

2:设计思路

1)算法:第一步将成绩按100-90,90-80,80-70,70-60,60一下进行分类,用到条件语句。

   第二部将以分好类的成绩按A,B,C,D,E相对应进行运算。

2)流程图:

 

3:本题调试过程中遇到的问题及解决办法

格式错误:

编写此题时我忽略了scanf语句会自动进行换行而多用了个换行语句;导致了格式错误。

二计算邮费

#include<stdio.h>
int main()
{
  int b;
  double a;
  char c;
  scanf("%lf%d%c",&a,&b,&c);
  c=getchar();
  if(c=='m')
    {
      if(b==90)printf("%.2f",a*6.95*(1-0.05));
      else if(b==93) printf("%.2f",a*7.44*(1-0.05));
      else printf("%.2f",a*7.93*(1-0.05));
    }
  else  
  {
    if(b==90)printf("%.2f",a*6.95*(1-0.03));
    else if(b==93) printf("%.2f",a*7.44*(1-0.03));
    else printf("%.2f",a*7.93*(1-0.03));
  }
  return 0;
}

设计思路:

根据不同的加油量,型号,和服务类型有不同的结果所以用到条件语句有2(服务类型)*3(型号)种选择方式

流程图:

 

 

遇到的问题及解决方法:

输入过程中忽略了‘ ’也算一个字符 ,通过两次赋值可以解决这个问题

二总结和学习进度条

1总结近段时间的收获遇到的问题及解决方法:近段时间有很大的收获有老师传授的也有自己摸索到的,(1)其中最为重要的是对c++有了大概的认识,通过不断的练习,现在基本掌握了一些基础的函数用法,很少会再出现语法错误(2)当然有问题才会有收获毕竟c语言是电脑语言跟一般的数学运算还是有些去别的 如数据类型不同时 应该如何转换 后来我了解到是先对表达式运算在进行数据转换最后赋值。(3)循环语句的用法中 continue的用法我也总结了一番 具体也不方便表达 (4)最近的学习也让我逐渐有了一些对编程的不同看法 比如i++,和++i,他们运算完后i的值是相同的但对于这个式子却有不同的值 这让我很是意外 我重来没想过公式也能有数值。还有逻辑运算符所表达的是数值1(非0即1)或0,补码反码的作用位运算带来的便利等等都极大的勾起了我的好奇心,也确定了我选这个专业的正确性。

2点评3名同学的作业并且邀请3名同学点评你的作业:

第二次作业

3请用表格和折线图表现你这几周代码的行数及时间博客园字数,时间,涉及的知识点:

 

 

 

 

 

posted @ 2018-12-04 20:22  YZBPXX  阅读(254)  评论(3编辑  收藏  举报