第九次实验任务
来源:互联网 发布:windows.old还原win10 编辑:程序博客网 时间:2024/06/05 20:25
任务1:
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的总分和平均分;
(3)按成绩由高到低排出名次表;
(4)按学号由小到大排出成绩表;
(5)按学号查询学生排名及其考试成绩;
(6)按优秀(90~100)、良好(70~89)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数及其所占的百分比;
运行截图:
运行截图:
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的总分和平均分;
(3)按成绩由高到低排出名次表;
(4)按学号由小到大排出成绩表;
(5)按学号查询学生排名及其考试成绩;
(6)按优秀(90~100)、良好(70~89)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数及其所占的百分比;
(7)输出每个学生的学号、考试成绩,课程总分和平均分。
我的程序:
#include <stdio.h> #define N 30void main() { int i,j,n,sum=0; long number[N]; float score[N]; float ave; printf("请输入学生人数:\n"); scanf("%d",&n); printf("请输入学号和成绩:\n"); for(i=0;i<n;i++) { scanf("%ld,%f",&number[i],&score[i]); } for(j=0;j<n;j++) { sum=sum+score[j]; } ave=sum/n; printf("总分为%d\n",sum); printf("平均分:%f\n",ave); float temp; long m; printf("成绩表:\n"); for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(number[j]>number[j+1]) { m=number[j]; temp=score[j]; number[j]=number[j+1]; score[j]=score[j+1]; number[j+1]=m; score[j+1]=temp; }
for(i=0;i<n;i++) printf("%ld, %.0f\n",number[i],score[i]); printf("名次表:\n"); for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(score[j]>score[j+1]) { m=score[j]; temp=number[j]; score[j]=score[j+1]; number[j]=number[j+1]; score[j+1]=m; number[j+1]=temp; } for(i=n-1;i>=0;i--) printf("%ld, %.0f\n",number[i],score[i]); int l=0; float t; long h,s; for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(score[j]<score[j+1]) { t=score[j]; h=number[j]; score[j]=score[j+1]; number[j]=number[j+1]; score[j+1]=t; number[j+1]=h; } printf("请输入您想查询学生学号:\n"); scanf("%d",&s); for(i=0;i<n;i++) { ++l; if(number[i]==s) printf("学号 %d 名次 %d,其考试成绩 %.0f\n",s,l,score[i]); } switch((int)score[i]/10) { case 10: case 9: a=a+1; break; case 8:case 7: b=b+1 ;break; case 6: c=c+1; break; default: d=d+1; break; } } r1=(100*a*1.0)/n; r2=(100*b*1.0)/n; r3=(100*c*1.0)/n; r4=(100*d*1.0)/n; printf("优秀\t良好\t及格\t不及格\n"); printf("%d\t%d\t%d\t%d\n",a,b,c,d); printf("%.2f%%\t%.2f%%\t%.2f%%\t%.2f%%\n",r1,r2,r3,r4); }
运行截图:
----------------------分割线----------------------
任务2:
从键盘输入5个整数存入一维数组中,输出最大的数,再按反序输出(要求用指针访问数组元素)
我的程序:
#include<stdio.h> void main() { int x[5],max,i; printf("输入5个整数\n"); for(i=0;i<=4;i++) scanf("%d",x+i);max=*(x+0); for(i=1;i<=4;i++) {if(*(x+i)>max) max=*(x+i); } printf("max=%d\n",max); for(i=4;i>=0;i--)printf("%d\t",*(x+i)); }
运行截图:
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 第九次实验任务
- 2012电子信息 第九次实验任务
- C程序设计课程第九次实验任务
- 2012电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第九次实验任务
- C程序设计课程-2012电子信息 第九次实验任务
- UTF-8 文件读写
- 第九次上机报告
- DB2中SQLSTATE=57016 SQLCODE=-668,原因码 "7"的解决
- 基础python学习视频连接
- 从程序员到CTO的Java技术路线图
- 第九次实验任务
- 进程的创建与可执行程序的加载
- jQuery plugin Validation的7个Callback介绍
- Hibernate的实体类中为什么要继承Serializable?
- Xoreax IncrediBuild 4.60
- SQL树形数据的一种解决方法
- Oracle命令--alter 操作
- IOS成长之路-使用系统默认声音、震动
- Oracle命令--update操作