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请用表格和折线图表现你这几周代码的行数及时间博客园字数,时间,涉及的知识点: