1、项目管理C语言小项目项目实训一实训内容:1、定义一个数组a11,用以存放学生的成绩。2、从键盘输入10个学生成绩3、采用冒泡法,将学生成绩按照从高到低进行排序4、再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组5、将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。项目实训二实训内容:1、在函数中进行10个学生成绩从高到低排名 sort(int a10)2、改进第一步的函数为sort(int a,int n),进行n个学生成绩从高到低排名,3、改进第二步的函数为sort(int a,int n, char style), 将n个学生成绩从高到低排名,排名方式4、根
2、据sort()函数的style参数进行,如style为a按升序排,style为d按降序排。(a:ascending 升,d:descending 降)项目实训三实训内容:1、定义一个数组stu10存放10个学生的成绩,从键盘输入数据,要求用指针实现2、将数组stu10的内容输出到屏幕上,要求用指针实现3、将成绩数组按照从高到低进行排序,要求用指针实现4、将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单5、采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)项目实训四实训内容:1、定义一个结构体数组
3、,存放10个学生的学号,姓名,三门课的成绩2、从键盘输入10个学生的以上内容3、输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩4、输出三门课程的平均分数最高的学生的学号、姓名及其平均分5、将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:number name math Chinese English average103 tom 90 90 100 95101 alice 90 80 70 80 项目实训五实训内容:1、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2、从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件3、打开stud.
4、dat文件,将数据读出,查看是否正确写入,关闭文件。4、打开文件stud.dat文件,读出数据,将10个学生按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件studsort.dat中。5、从studsort.dat 文件中读取第2,4,6,8,10个学生的数据。最终项目学生成绩管理系统完成下列功能:1、输入:函数input把20学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。2、插入:insert 函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。3、
5、排序:sort函数对所有学生按要求排序(1.学号 2.总成绩 ),并输出。4、查找:find函数输入一个学生的学号或姓名,找到该学生并输出该学生的全部内容。要求能查询多次。5、删除:delete函数输入一个学生的学号或姓名,找到该学生并删除该学生的全部内容。6、输出:函数output 输出全部学生的记录。7、main调用所有函数,实现全部函数功能(注:除了定义结构外,不允许使用全局变量,函数之间的数据全部使用参数传递)。/*/* 项目实训一 */* 源代码如下: */*/# include # include # include main () int a11; int num_init; i
6、nt num_sort_1,num_sort_2; int num_temp; int num_std; int num_tag; for (num_init=0;num_init=9;num_init+) printf(%d)input:,num_init+1); scanf(%d,&anum_init); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_tem
7、p; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init10;num_init+) printf(%d,anum_init); printf(input student score:n); scanf(%d,&num_std); for(num_init=0;num_initanum_init) num_tag=num_init; int total=10; while (num_inittotal) atotal=atotal-1; total-; anum_tag=num_std; break; for (
8、num_init=0;num_init=10;num_init+) printf(%d ,anum_init); printf(n); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_temp; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init=10;num_init+) pri
9、ntf(%d ,anum_init); printf(n); /*/* 项目实训二 */* 源代码如下: */*/# include # include # include # define MAXLEN 1000void sort (int a,int n,char style);int main (int argc,char *argv) int aMAXLEN; char bMAXLEN; int i=0,j,n; char s; while(1) printf(a%d=,i); fgets(b,MAXLEN,stdin); if (b0=n) break; ai=atoi(b); i+
10、; printf(input sort style(a=asc,d=desc):); scanf(%c,&s); n=-i; sort(a,n,s); for (j=0;j0;j-) for (i=0;iai+1) t=ai; ai=ai+1; ai+1=t; else if(style=d) if (aiai+1) t=ai; ai=ai+1; ai+1=t; /*/* 项目实训三 */* 源代码如下: */*/# include # include # include void sort(int str);int main (void) int str10; char i_msg100;
11、char o_msg100; int i; int *pi; char *pm_i,*pm_o; pi=str; pm_i=i_msg; pm_o=o_msg; printf(fun 1)n); printf(input 10 student score:n); for(i=0;i10;i+) scanf(%d,&stri); sort(str); printf(sort result:n); for(i=0;i10;i+) printf(%d ,*(pi+i); getchar(); printf(nfun 2)n); printf(input message:n); for(i=0;i1;
12、j-) for(i=0;ij;i+) if(*(p+i)*(p+i+1) t=*(p+i); *(p+i)=*(p+i+1); *(p+i+1)=t; /*/* 项目实训四 */* 源代码如下: */*/# include # include # include int main (int argc,char *argv) struct stu int num; char name20; int math; int chinese; int english; int average; s10; struct stu temp; int n,l,i,j; for (n=0;n0;i-) for(
13、j=0;ji;j+) if(sj.averagesj+1.average) temp.num=sj.num; strcpy(temp.name,sj.name); temp.math=sj.math; temp.chinese=sj.chinese; temp.english=sj.english; temp.average=sj.average; sj.num=sj+1.num; strcpy(sj.name,sj+1.name); sj.math=sj+1.math; sj.chinese=sj+1.chinese; sj.english=sj+1.english; sj.average=
14、sj+1.average; sj+1.num=temp.num; strcpy(sj+1.name,temp.name); sj+1.math=temp.math; sj+1.chinese=temp.chinese; sj+1.english=temp.english; sj+1.average=temp.average; printf(max student:nnum:%dtname:%staverage:%dnn,s0.num,s0.name,s0.average); printf(numbertnametmathtChinesetEnglishtaveragen); for (n=0;n10;n+) printf(%dt,sn.num); printf(%st,sn.name); printf(%dt,sn.math); printf(%dt,sn.chinese); printf(%dt,sn.english); printf(%dn,sn.average);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1