C程序设计课程-2012电子信息 第九次实验任务
2013-05-31 13:29
337 查看
任务1:
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:
(1) 录入每个学生的学号和考试成绩;
(2) 计算课程的总分和平均分;
(3) 按成绩由高到低排出名次表;
(4) 按学号由小到大排出成绩表;
(5) 按学号查询学生排名及其考试成绩;
(6) 按优秀(90~100)、良好(70~89)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数及其所占的百分比;
(7) 输出每个学生的学号、考试成绩,课程总分和平均分。
----------------------分割线----------------------
任务2:
从键盘输入5个整数存入一维数组中,输出最大的数,再按反序输出(要求用指针访问数组元素)
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:
(1) 录入每个学生的学号和考试成绩;
(2) 计算课程的总分和平均分;
(3) 按成绩由高到低排出名次表;
(4) 按学号由小到大排出成绩表;
(5) 按学号查询学生排名及其考试成绩;
(6) 按优秀(90~100)、良好(70~89)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数及其所占的百分比;
(7) 输出每个学生的学号、考试成绩,课程总分和平均分。
#include<stdio.h> #define N 30 void main() { int id ,score ; float ave; int n,i,j,temp; int sum=0; printf("请输入具体学生人数:"); scanf_s("%d",&n); printf("请每个学生的学号和考试成绩:\n"); for(i=0;i<n;i++) { scanf_s("%d%d",&id[i],&score[i]); } for(i=0;i<n;i++) { sum=sum+score[i]; } ave=float(sum/n); printf("总分:%d\n平均分:%f\n",sum,ave); for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(id[j]>id[j+1]) { temp=id[j]; id[j]=id[j+1]; id[j+1]=temp; temp=score[j]; score[j]=score[j+1]; score[j+1]=temp; } } } printf("按学号由小到大排出成绩表:\n"); for(i=0;i<n;i++) { printf("%d %d\n",id[i],score[i]); } for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(score[j]<score[j+1]) { temp=score[j]; score[j]=score[j+1]; score[j+1]=temp; temp=id[j]; id[j]=id[j+1]; id[j+1]=temp; } } } printf("按成绩由高到低排出名次表:\n"); for(i=0;i<n;i++) { printf("%d %d\n",id[i],score[i]); } printf("输入学生学号:"); int x; scanf_s("%d",&x); for(i=0;i<n;i++) { if(id[i]==x) break; } printf("排名:%d 分数:%d\n",i+1,score[i]); j=0; for(i=0;i<n;i++) { if(score[i]<=100&&score[i]>=90) { j++; } } float a; a=j*1.0/n*100; printf("优秀百分比:%f\n",a); j=0; for(i=0;i<n;i++) { if(score[i]<90&&score[i]>=70) { j++; } } float b; b=j*1.0/n*100; printf("良好百分比:%f\n",b); j=0; for(i=0;i<n;i++) { if(score[i]<70&&score[i]>=60) { j++; } } float c; c=j*1.0/n*100; printf("及格百分比:%f\n",c); j=0; for(i=0;i<n;i++) { if(score[i]<60&&score[i]>=0) { j++; } } float d; d=j*1.0/n*100; printf("不及格百分比:%f\n",d); }
----------------------分割线----------------------
任务2:
从键盘输入5个整数存入一维数组中,输出最大的数,再按反序输出(要求用指针访问数组元素)
#include<stdio.h> void main() { int a[5]; int i,max; printf("请输入5个整数:\n"); for(i=0;i<5;i++) { scanf("%d",&a[i]); } printf("最大数:"); max=a[0]; for(i=1;i<5;i++) { if(a[i]>max) max=a[i]; } printf("%d\n",max); printf("反序输出:\n"); for(i=4;i>=0;i--) { printf("%d\n",*(a+i)); } }
相关文章推荐
- C程序设计课程-2012电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第八次实验任务
- C程序设计课程-2012电子信息 第十次实验任务
- C程序设计课程-电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第十次实验任务
- C程序设计课程-2012电子信息 第七次实验任务
- 课程任务C程序设计课程-电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第十一次实验任务
- C程序设计课程-2012电子信息 第七次实验任务
- C程序设计课程-2012电子信息 第七次实验任务
- C程序设计课程-2012电子信息 第八次实验任务
- C程序设计课程-2012电子信息 第十次实验任务
- C程序设计课程-2012电子信息 第十一次实验任务
- C程序设计课程-2012电子信息 第八次实验任务
- C程序设计课程-2012电子信息 第十一次实验任务
- C程序设计课程-2012电子信息 第八次实验任务
- C程序设计课程-2012电子信息 第八次实验任务
- C程序设计课程-2012电子信息 第三次上机实验