题目1133:学分绩点 (C++/Java)
来源:互联网 发布:卫生部 疾病数据 编辑:程序博客网 时间:2024/04/29 10:26
- 题目描述:
北京大学对本科生的成绩施行平均学分绩点制(GPA)。既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。
公式如下:
实际成绩 绩点
90——100 4.0
85——89 3.7
82——84 3.3
78——81 3.0
75——77 2.7
72——74 2.3
68——71 2.0
64——67 1.5
60——63 1.0
60以下 0
1.一门课程的学分绩点=该课绩点*该课学分
2.总评绩点=所有学科绩点之和/所有课程学分之和
现要求你编写程序求出某人A的总评绩点(GPA)。
- 输入:
第一行 总的课程数n(n<10);
第二行 相应课程的学分(两个学分间用空格隔开);
第三行 对应课程的实际得分;
此处输入的所有数字均为整数。
- 输出:
输出有一行,总评绩点,精确到小数点后2位小数。(printf("%.2f",GPA);)
- 样例输入:
54 3 4 2 391 88 72 69 56
- 样例输出:
2.52
import java.text.DecimalFormat;import java.util.Scanner; public class Main{ public static void main(String args[]) { Scanner cin=new Scanner(System.in); DecimalFormat decimal_format=new DecimalFormat("#.00"); int total_course; int i,j,k; int [] course_GPA=new int[10]; int [] course_Grades=new int [10]; while(cin.hasNext()) { int total_GPA=0; float sum=0; total_course=cin.nextInt(); for(i=0;i<total_course;i++) { course_GPA[i]=cin.nextInt(); total_GPA+=course_GPA[i]; } for(j=0;j<total_course;j++) { course_Grades[j]=cin.nextInt(); } for(k=0;k<total_course;k++) { if(course_Grades[k]>=90) { sum+=4.0*course_GPA[k]; } if((course_Grades[k]>=85)&&(course_Grades[k]<=89)) { sum+=3.7*course_GPA[k]; } if((course_Grades[k]>=82)&&(course_Grades[k]<=84)) { sum+=3.3*course_GPA[k]; } if((course_Grades[k]>=78)&&(course_Grades[k]<=81)) { sum+=3.0*course_GPA[k]; } if((course_Grades[k]>=75)&&(course_Grades[k]<=77)) { sum+=2.7*course_GPA[k]; } if((course_Grades[k]>=72)&&(course_Grades[k]<=74)) { sum+=2.3*course_GPA[k]; } if((course_Grades[k]>=68)&&(course_Grades[k]<=71)) { sum+=2.0*course_GPA[k]; } if((course_Grades[k]>=64)&&(course_Grades[k]<=67)) { sum+=1.5*course_GPA[k]; } if((course_Grades[k]>=60)&&(course_Grades[k]<=63)) { sum+=1.0*course_GPA[k]; } if(course_Grades[k]<60) { sum+=0.0*course_GPA[k]; } } //System.out.println("总绩点"+sum+" "+"总学分"+total_GPA); System.out.print(decimal_format.format(sum/total_GPA)); System.out.print("\n"); } }}/************************************************************** Problem: 1133 User: Carvin Language: Java Result: Accept****************************************************************/
转载的C++:
#include<stdio.h>double ScorePoint(int a) { if(a>=90) return 4.0; else if(a>=85) return 3.7; else if(a>=82) return 3.3; else if(a>=78) return 3.0; else if(a>=75) return 2.7; else if(a>=72) return 2.3; else if(a>=68) return 2.0; else if(a>=64) return 1.5; else if(a>=60) return 1.0; else return 0; } int main() { int i,n,sum;//n 总的课程数 sum 所有所有课程学分之和 double psum;//所有学科绩点之和 int a[10],b[10]; //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); while(scanf("%d",&n) != EOF) { sum = 0; psum = 0; //输入课程学分 for(i = 0;i < n;i++){ scanf("%d",&a[i]); //所有课程学分之和 sum += a[i]; } //输入课程的实际得分 for(i = 0;i < n;i++){ scanf("%d",&b[i]); //一门课程的学分绩点=该课绩点*该课学分 psum += ScorePoint(b[i]) * a[i]; } printf("%.2f\n",psum/sum); } return 0; } /************************************************************** Problem: 1133 User: Carvin Language: C++ Result: Accepted Time:0 ms Memory:1020 kb****************************************************************/
0 0
- 题目1133:学分绩点 (C++/Java)
- 题目1133:学分绩点
- 题目1133:学分绩点
- 题目1133:学分绩点
- 九度OJ 题目1133:学分绩点
- 九度OJ 题目1133:学分绩点
- 学分绩点
- 学分绩点
- Java之计算上学期的平均学分绩点
- 1778 学分绩点和
- 九度论坛--上机题1133:学分绩点
- 九度OJ 1133:学分绩点 (加权平均数)
- SWPU学分绩点计算器女生版
- 东南大学 学分绩点gpa 计算器 【源码】
- 百练 2722 学分绩点
- c++计算学分绩点代码
- 百练_2722:学分绩点
- Bailian2722 学分绩点【序列处理】
- Memcached windows 下安装与测试
- UVA10308
- 机器学习(一) 从一个R语言案例学线性回归
- LayoutInflater的获取与使用
- Codeforces Round #172 (Div. 2)---D. Maximum Xor Secondary(RMQ + 二分)
- 题目1133:学分绩点 (C++/Java)
- 使用Catalog命令注册RMAN备份集
- USB/HID设备报告描述符详解
- 图像缩放算法
- CentOS----kdump failed
- Activity传递返回参数+生命周期+横竖屏+保持临时数据
- Delphi开发IE中添加工具栏
- wampserver2.5 发布后不能访问 you don't have permission to access
- 类似百度搜索输入keyword进行找到含keyword相关内容