您好,欢迎访问三七文档
《C语言的六个实训小项目》源码例程已有11257次阅读2007-10-811:51|个人分类:C语言编程项目实训一实训内容:1、定义一个数组a[11],用以存放学生的成绩。2、从键盘输入10个学生成绩3、采用冒泡法,将学生成绩按照从高到低进行排序4、再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组5、将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。项目实训二实训内容:1、在函数中进行10个学生成绩从高到低排名sort(inta[10])2、改进第一步的函数为sort(inta[],intn),进行n个学生成绩从高到低排名,3、改进第二步的函数为sort(inta[],intn,charstyle),将n个学生成绩从高到低排名,排名方式4、根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。(a:ascending升,d:descending降)项目实训三实训内容:1、定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现2、将数组stu[10]的内容输出到屏幕上,要求用指针实现3、将成绩数组按照从高到低进行排序,要求用指针实现4、将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单5、采用指针方法,输入字符串“studentscore”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)项目实训四实训内容:1、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2、从键盘输入10个学生的以上内容3、输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩4、输出三门课程的平均分数最高的学生的学号、姓名及其平均分5、将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:numbernamemathChineseEnglishaverage103tom909010095101alice90807080项目实训五实训内容:1、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2、从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件3、打开stud.dat文件,将数据读出,查看是否正确写入,关闭文件。4、打开文件stud.dat文件,读出数据,将10个学生按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件studsort.dat中。5、从studsort.dat文件中读取第2,4,6,8,10个学生的数据。最终项目学生成绩管理系统完成下列功能:1、输入:函数input把20学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。2、插入:insert函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。3、排序:sort函数对所有学生按要求排序(1.学号2.总成绩),并输出。4、查找:find函数输入一个学生的学号或姓名,找到该学生并输出该学生的全部内容。要求能查询多次。5、删除:delete函数输入一个学生的学号或姓名,找到该学生并删除该学生的全部内容。6、输出:函数output输出全部学生的记录。7、main调用所有函数,实现全部函数功能(注:除了定义结构外,不允许使用全局变量,函数之间的数据全部使用参数传递)。/**************************************//*项目实训一*//*源代码如下:*//**************************************/#includestdio.h#includestrlib.h#includestring.hmain(){inta[11];intnum_init;intnum_sort_1,num_sort_2;intnum_temp;intnum_std;intnum_tag;for(num_init=0;num_init=9;num_init++){printf(%d)input:,num_init+1);scanf(%d,&a[num_init]);}for(num_sort_2=1;num_sort_210;num_sort_2++){for(num_sort_1=num_sort_2;num_sort_1=1;num_sort_1--){if(a[num_sort_1]a[num_sort_1-1]){num_temp=a[num_sort_1];a[num_sort_1]=a[num_sort_1-1];a[num_sort_1-1]=num_temp;printf(a[%d]==a[%d]\n,a[num_sort_1],a[num_sort_1-1]);}}}for(num_init=0;num_init10;num_init++){printf(%d,,a[num_init]);}printf(inputstudentscore:\n);scanf(%d,&num_std);for(num_init=0;num_init=10;num_init++){if(num_stda[num_init]){num_tag=num_init;inttotal=10;while(num_inittotal){a[total]=a[total-1];total--;}a[num_tag]=num_std;break;}}for(num_init=0;num_init=10;num_init++){printf(%d,a[num_init]);}printf(\n);for(num_sort_2=1;num_sort_2=10;num_sort_2++){for(num_sort_1=num_sort_2;num_sort_1=1;num_sort_1--){if(a[num_sort_1]a[num_sort_1-1]){num_temp=a[num_sort_1];a[num_sort_1]=a[num_sort_1-1];a[num_sort_1-1]=num_temp;printf(a[%d]==a[%d]\n,a[num_sort_1],a[num_sort_1-1]);}}}for(num_init=0;num_init=10;num_init++){printf(%d,a[num_init]);}printf(\n);}/**************************************//*项目实训二*//*源代码如下:*//**************************************/#includestdio.h#includestdlib.h#includestring.h#defineMAXLEN1000voidsort(inta[],intn,charstyle);intmain(intargc,char*argv[]){inta[MAXLEN];charb[MAXLEN];inti=0,j,n;chars;while(1){printf(a[%d]=,i);fgets(b,MAXLEN,stdin);if(b[0]=='\n')break;a[i]=atoi(b);i++;}printf(inputsortstyle(a=asc,d=desc):);scanf(%c,&s);n=--i;sort(a,n,s);for(j=0;j=i;j++)printf(%d,a[j]);return0;}voidsort(inta[],intn,charstyle){inti,j,t;for(j=n;j0;j--){for(i=0;ij;i++){if(style=='a'){if(a[i]a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}}else{if(style=='d')if(a[i]a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}}}}}/**************************************//*项目实训三*//*源代码如下:*//**************************************/#includestdio.h#includestring.h#includestdlib.hvoidsort(intstr[]);intmain(void){intstr[10];chari_msg[100];charo_msg[100];inti;int*pi;char*pm_i,*pm_o;pi=str;pm_i=i_msg;pm_o=o_msg;printf(fun1)\n);printf(input10studentscore:\n);for(i=0;i10;i++)scanf(%d,&str[i]);sort(str);printf(sortresult:\n);for(i=0;i10;i++)printf(%d,*(pi+i));getchar();printf(\nfun2)\n);printf(inputmessage:\n);for(i=0;i100;i++){scanf(%c,pm_i+i);if(*(pm_i+i)=='\n')break;}*(pm_i+i)='\0';strcpy(pm_o,pm_i);puts(pm_o);return0;}voidsort(int*p){inti,j,t;for(j=9;j1;j--){for(i=0;ij;i++){if(*(p+i)*(p+i+1)){t=*(p+i);*(p+i)=*(p+i+1);*(p+i+1)=t;}}}}/**************************************//*项目实训四*//*源代码如下:*//**************************************/#includestdio.h#includestring.h#includestdlib.hintmain(intargc,char*argv[]){structstu{intnum;charname[20];intmath;intchinese;intenglish;intaverage;}s[10];structstutemp;intn,l,i,j;for(n=0;n10;n++){printf(input%d)studentnum:,n);scanf(%d,&s[n].num);getchar();printf(input%d)studentname:,n);fgets(s[n].name,20,stdin);l=strlen(s[n].name);s[n].name[l-1]='\0';printf(input%d)studentmath:,n);scanf(%d,&s[n].math);printf(input%d)studentchinese:,n);scanf(%d,&s[n].chinese);printf(input%d)studentenglish:,n);scanf(%d,&s[n].english);s[n].average=(s[n].math+s[n].chinese+s[n].english)/3;}for(i=9;i0;i--){for(j=0;ji;j++){if(s[j].averages[j+1].average){temp.num=s[j].num;strcpy(temp.name,s[j].name);temp.math=s[j].math;temp.chinese=s[j].chinese;temp.english=s[j].english;t
本文标题:C语言实训小项目
链接地址:https://www.777doc.com/doc-3675814 .html