全文预览

学生成绩管理系统c语言课程设计报告

上传者:菩提 |  格式:doc  |  页数:15 |  大小:81KB

文档介绍
串拷贝函数来实现交换,以达到最终排序的目的。这样解决之后,一方面可以使姓名不至于限制在一个字符内,另外一个好处就是解决了排序过程中姓名交换的问题。Р源程序(含注释)及运行界面Р1、源程序Р#include<stdio.h>Р#include<string.h>Р#include<stdlib.h>Р#define NUM 20Рvoid input(int a[],char b[][30]) /*子函数input输入20个学生姓名*/Р{Р?int i;Р?for(i=0;i<NUM;i++)Р?{Р printf("请输入第%d个学生的姓名:",i+1);Р scanf("%s",b[i]);Р printf("请输入第%d个学生的成绩:",i+1);Р scanf("%d",&a[i]);Р if(a[i]>99||a[i]<60)Р {Р printf("error!\n"); /*成绩大于99或小于60则显示错误*/Р i=i-1;Р }Р?}Р}Рvoid zhijie(int a[],char b[][30]) /*直接排序法*/Р{Р?int i,j,min,temp;char temp1[30];Р?for(i=0;i<NUM-1;i++)Р?{ Р min=i;Р for(j=i+1;j<NUM;j++)Р if(a[j]<a[min])Р {Р temp=a[j];Р a[j]=a[min];Р a[min]=temp;Р strcpy(temp1,b[j]); /*字符串拷贝函数进行字符数组交换*/Р strcpy(b[j],b[min]);Р strcpy(b[min],temp1);Р }Р?}Р?printf("排序后的学生姓名和成绩为:\n");Р?for(i=0;i<NUM;i++)Р printf("%s,%d\n",b[i],a[i]);

收藏

分享

举报
下载此文档