C语言课程设计报告
姓名:刘福慧
学号:130930108
班级:卓越电子1301
学生成绩单管理
1.学生成绩排名
1)定义一个数组a[11],用以存放学生的成绩。
2)从键盘输入10个学生成绩
3)采用冒泡法,将学生成绩按照从高到低进行排序-再输入一个学生的成
绩,将此成绩按照排序规律插入原学生成绩数组
4)将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到
高排列。
5)将以上每一步骤的结果均打印输出,验证程序是否正确实现题目要求#include
void main()
{
int i,j,t,p,n,a[11]; // 定义一个数组a[11],用以存放学生的成绩。printf("输入10个学生成绩:\n"); // 从键盘输入10个学生成绩for(i=1; i<11;i++)
scanf("%d",&a[i]);
printf("输出10个学生成绩:\n"); // 从键盘输出10个学生成绩for(i=1; i<11;i++)
printf("%d,",a[i]);
for(j=0; j<10; j++) // 采用冒泡法,将学生成绩按照从高到低进行排序for(i=1; i<10-j; i++)
if (a[i] { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("从高到低输出10个学生成绩:\n"); //从高到低输出10个学生成绩for(i=1; i<11;i++) printf("%d,",a[i]); printf("再输入1个学生成绩:\n"); // 再输入一个学生的成绩 scanf("%d",&n); if (n a[11]=n; else {for (i=1;i<11;i++) { if(a[i] {t=a[i]; a[i]=n; for (j=i+1;j<12;j++) {p=a[j]; a[j]=t; t=p; } } } } for(i=1; i<12;i++) //从高到低输出11个学生成绩 printf("%d,",a[i]); printf("\n"); for(i=1;i<6;i++) //将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列 {t=a[i]; a[i]=a[12-i]; a[12-i]=t; } for(i=1; i<12;i++) //从低到高输出11个学生成绩 printf("%d,",a[i]); } 2.根据条件进行学生成绩排名 1)在函数中进行10个学生成绩从高到低排名 sort(int a[10]) 2)改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到 低排名, 3)改进第二步的函数为sort(int a[],int n, char style), 将n个学生 成绩从高到低排名,排名方式根据sort()函数的style参数进行,如 style为‘a’按升序排,style为’d’按降序排。(a:ascending 升, d:descending 降) 1) #include void sort(int a[],int n); void main() { int b[9],i; printf("输入10个同学的成绩:\n"); //输入10个同学的成绩 for(i=0;i<10;i++) scanf("%d",&b[i]); printf("\n"); sort(b,10); //使用sort函数for(i=0;i<10;i++) //输出10个同学的成绩printf("%d,",b[i]); } void sort(int a[],int n) { int i,j,t; for(i=0;i for(j=0;j if(a[j] { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } 2) #include void sort(int a[],int n); void main() { int b[100],i,n; printf("输入n的值:\n"); //输入n的值 scanf("%d",&n); printf("输入n个同学的成绩:\n"); //输入n个同学的成绩 for(i=0;i scanf("%d",&b[i]); sort(b,n); //使用sort函数 for(i=0;i } void sort(int a[],int n) { int i,j,t; //冒泡排序从高到低排列n个成绩for(i=0;i