第九次上机任务
来源:互联网 发布:edu域名如何注册 编辑:程序博客网 时间:2024/06/05 21:07
任务1:
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的总分和平均分;
(3)按成绩由高到低排出名次表;
(4)按学号由小到大排出成绩表;
(5)按学号查询学生排名及其考试成绩;
(6)按优秀(90~100)、良好(70~89)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数及其所占的百分比;
(7)输出每个学生的学号、考试成绩,课程总分和平均分。
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的总分和平均分;
(3)按成绩由高到低排出名次表;
(4)按学号由小到大排出成绩表;
(5)按学号查询学生排名及其考试成绩;
(6)按优秀(90~100)、良好(70~89)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数及其所占的百分比;
(7)输出每个学生的学号、考试成绩,课程总分和平均分。
我的程序:
#include<stdio.h> #define N 40 void paix(int *p,int n,int *q) { int temp1,temp2; for(int i=0;i<n;i++) for(int j=0;j<n-i-1;j++) { if(*(q+j)<*(q+j+1)) { temp1=*(q+j); *(q+j)=*(q+j+1); *(q+j+1)=temp1; temp2=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp2; } } } void main() { printf("这是一个学生成绩管理系统!\n"); int xh[N],cj[N],renshu,sum=0; float ave; printf("请输入学生的数目:\n"); scanf("%d",&renshu); printf("请输入学生的学号和成绩:\n"); for(int i=0;i<renshu;i++) { scanf("%d,%d",&xh[i],&cj[i]); } for(i=0;i<renshu;i++) sum=sum+cj[i]; ave=float(sum/renshu); printf("总分为%d\n",&sum); printf("平均分:%f\n",ave); printf("按照学号\n"); int temp1,temp2; for(i=0;i<renshu;i++) for(int j=0;j<renshu-i-1;j++) { if(xh[j]>xh[j+1]) { temp1=cj[j]; cj[j]=cj[j+1]; cj[j+1]=temp1; temp2=xh[j]; xh[j]=xh[j+1]; xh[j+1]=temp2; } } for(i=0;i<renshu;i++) { printf("%d,%d\n",xh[i],cj[i]); } printf("成绩排序后\n"); int *p,*q; p=xh;q=cj; paix(p,renshu,q); for(i=0;i<renshu;i++) { printf("%d,%d\n",xh[i],cj[i]); } printf("请输入你想查询的学生学号:\n"); int x; scanf("%d",&x); for(i=0;i<renshu;i++) { if(xh[i]==x) printf("学号%d,名次%d,其考试成绩%d\n",xh[i],(i+1),cj[i]); } float h=0; float b=0; float l=0; float g=0; for(i=0;i<renshu;i++) { if(cj[i]>=90) h++; if(cj[i]<60) b++; if(cj[i]<89&&cj[i]>70) l++; if(cj[i]>60&&cj[i]<69) g++; } printf("优秀\t良好\t合格\t不合格\n"); printf("%.f\t%.f\t%.f\t%.f\n",h,l,g,b); printf("%.f%%\t%.f%%\t%.f%%\t%.f%%\n",(h/renshu)*100,(l/renshu)*100,(g/renshu)*100,(b/renshu)*100); }
任务2:
从键盘输入5个整数存入一维数组中,输出最大的数,再按反序输出(要求用指针访问数组元素)
我的程序:
#include<stdio.h> #define num 5 void main() { int i,*p,max=0; int a[num]; printf("请输入五个数:\n"); for(i=0;i<num;i++) { scanf("%d",&a[i]); } for (int i = 0; i < num; i++) { if (max<a[i]) max=a[i]; } printf("这五个数中的最大数是:max=%d\n",max); printf("这五个数的逆序是:\n"); for(p=a+num-1;p>=a;p--) { printf("%d\n",*p); } }
- 第九次上机任务
- 第九次上机实验
- 第九次上机实验
- 第九次上机实验
- 第九次上机实验
- 第九次上机实验
- 第九次上机作业
- 第九次上机实验
- 第九次上机报告
- 第九次上机实验
- 第九次上机实验
- 第九次上机实验
- 第九次上机实验
- 第九次上机报告
- 第九次上机实验
- 第九次上机
- 第九次上机报告
- 第九次上机报告
- Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 7
- 动物类派生
- Another Eight Puzzle
- 美国历任总统
- BUAA_分切糕
- 第九次上机任务
- hdu 1086 线段相交
- 定义抽象基类Shape,由它派生出3个派生类,Circle、Rectangle、Triangle
- Windows Phone实现对SQL Server 2008的增删改查
- hdu 1210 简单数学模拟
- Linux 可加载内核模块剖析
- IE8中弹出窗口 隐藏地址栏
- vc api_获取系统信息和用户信息
- HDU/HDOJ 1242 Rescue 典型的迷宫广度优先搜索题