收藏 分销(赏)

C语言小项目.doc

上传人:xrp****65 文档编号:6768223 上传时间:2024-12-21 格式:DOC 页数:26 大小:19.50KB 下载积分:10 金币
下载 相关 举报
C语言小项目.doc_第1页
第1页 / 共26页
C语言小项目.doc_第2页
第2页 / 共26页


点击查看更多>>
资源描述
项目实训一 实训内容: 1、定义一个数组a[11],用以存放学生的成绩。 2、从键盘输入10个学生成绩 3、采用冒泡法,将学生成绩按照从高到低进行排序 4、再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组 5、将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。 项目实训二 实训内容: 1、在函数中进行10个学生成绩从高到低排名 sort(int a[10]) 2、改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名, 3、改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式4、根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。 (a:ascending  升,d:descending 降) 项目实训三 实训内容: 1、定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现 2、将数组stu[10]的内容输出到屏幕上,要求用指针实现 3、将成绩数组按照从高到低进行排序,要求用指针实现 4、将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单 5、采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数) 项目实训四 实训内容: 1、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩 2、从键盘输入10个学生的以上内容 3、输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩 4、输出三门课程的平均分数最高的学生的学号、姓名及其平均分 5、将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示: number     name   math   Chinese   English    average 103        tom    90      90       100           95 101      alice    90      80       70            80 项目实训五 实训内容: 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调用所有函数,实现全部函数功能(注:除了定义结构外,不允许使用全局变量,函数之间的数据全部使用参数传递)。 /**************************************/ /* 项目实训一  */ /* 源代码如下: */ /**************************************/ # include <stdio.h> # include <strlib.h> # include <string.h> main () {     int a[11];     int num_init;     int 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",&a[num_init]);     }     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("input student score:\n");     scanf("%d",&num_std);     for(num_init=0;num_init<=10;num_init++)     {         if (num_std>a[num_init])         {             num_tag=num_init;             int total=10;             while (num_init<total)             {                 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");     } /**************************************/ /* 项目实训二  */ /* 源代码如下: */ /**************************************/ # include <stdio.h> # include <stdlib.h> # include <string.h> # define MAXLEN 1000 void sort (int a[],int n,char style); int main (int argc,char *argv[]) {         int a[MAXLEN];         char b[MAXLEN];         int i=0,j,n;         char s;         while(1)         {                 printf("a[%d]=",i);                 fgets(b,MAXLEN,stdin);                 if (b[0]=='\n')                         break;                 a[i]=atoi(b);                 i++;         }         printf("input sort style(a=asc,d=desc):");         scanf("%c",&s);         n=--i;         sort(a,n,s);         for (j=0;j<=i;j++)                 printf("%d ",a[j]);         return 0; } void sort(int a[],int n,char style) {         int i,j,t;         for (j=n;j>0;j--)         {                 for (i=0;i<j;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;                                 }                         }                 }         } } /**************************************/ /* 项目实训三  */ /* 源代码如下: */ /**************************************/ # include <stdio.h> # include <string.h> # include <stdlib.h> void sort(int str[]); int main (void) {         int str[10];         char i_msg[100];         char o_msg[100];         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;i<10;i++)                 scanf("%d",&str[i]);         sort(str);         printf("sort result:\n");         for(i=0;i<10;i++)                 printf("%d ",*(pi+i));         getchar();         printf("\nfun 2)\n");         printf("input message:\n");         for(i=0;i<100;i++)         {                 scanf("%c",pm_i+i);                 if(*(pm_i+i)=='\n')                         break;         }         *(pm_i+i)='\0';         strcpy(pm_o,pm_i);         puts(pm_o);         return 0; } void sort(int *p) {         int i,j,t;         for(j=9;j>1;j--)         {                 for(i=0;i<j;i++)                 {                         if(*(p+i)<*(p+i+1))                         {                                 t=*(p+i);                                 *(p+i)=*(p+i+1);                                 *(p+i+1)=t;                         }                 }         } } /**************************************/ /* 项目实训四  */ /* 源代码如下: */ /**************************************/ # include <stdio.h> # include <string.h> # include <stdlib.h> int main (int argc,char *argv[]) {         struct stu         {                 int num;                 char name[20];                 int math;                 int chinese;                 int english;                 int average;         }s[10];         struct stu temp;         int n,l,i,j;         for (n=0;n<10;n++)         {                 printf("input %d)student num:",n);                 scanf("%d",&s[n].num);                 getchar();                 printf("input %d)student name:",n);                 fgets(s[n].name,20,stdin);                 l=strlen(s[n].name);                 s[n].name[l-1]='\0';                 printf("input %d)student math:",n);                 scanf("%d",&s[n].math);                 printf("input %d)student chinese:",n);                 scanf("%d",&s[n].chinese);                 printf("input %d)student english:",n);                 scanf("%d",&s[n].english);                 s[n].average=(s[n].math+s[n].chinese+s[n].english)/3;         }         for(i=9;i>0;i--)         {                 for(j=0;j<i;j++)                 {                         if(s[j].average<s[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;                                 temp.average=s[j].average;                                 s[j].num=s[j+1].num;                                 strcpy(s[j].name,s[j+1].name);                                 s[j].math=s[j+1].math;                                 s[j].chinese=s[j+1].chinese;                                 s[j].english=s[j+1].english;                                 s[j].average=s[j+1].average;                                 s[j+1].num=temp.num;                                 strcpy(s[j+1].name,temp.name);                                 s[j+1].math=temp.math;                                 s[j+1].chinese=temp.chinese;                                 s[j+1].english=temp.english;                                 s[j+1].average=temp.average;                         }                 }         }         printf("max student:\nnum:%d\tname:%s\taverage:%d\n\n",s[0].num,s[0].name,s[0].average);         printf("number\tname\tmath\tChinese\tEnglish\taverage\n");         for (n=0;n<10;n++)         {                 printf("%d\t",s[n].num);                 printf("%s\t",s[n].name);                 printf("%d\t",s[n].math);                 printf("%d\t",s[n].chinese);                 printf("%d\t",s[n].english);                 printf("%d\n",s[n].average);         }         return 0; } /**************************************/ /* 项目实训五  */ /* 源代码如下: */ /**************************************/ # include <stdio.h> # include <string.h> # include <stdlib.h> int main (int argc,char *argv[]) {     struct str{     int code;     char name[20];     int math;     int English;     int Chinese;     int average;     }stu[10];     struct str t;     int i,j,l,f=0,ch,n=0,k=0;     char temp[6][30];     FILE *fp;     printf("Module 1 begin\n");     printf("*********************************\n");     printf("Input 10 student data\n");     for (i=0;i<10;i++)     {         printf("input %d) student code:",i);         scanf("%d",&stu[i].code);         getchar();         printf("input name:");         fgets(stu[i].name,20,stdin);         l=strlen(stu[i].name);         stu[i].name[l-1]='\0';         printf("input math score:");         scanf("%d",&stu[i].math);         printf("input English score:");         scanf("%d",&stu[i].English);         printf("input Chinese score:");         scanf("%d",&stu[i].Chinese);     }     if ((fp=fopen("/tmp/stud.dat","wt+"))==NULL)     {         printf("open file stud.dat failed!\n");         exit(1) ;     }     for (i=0;i<10;i++)     {         fprintf(fp,"%d",stu[i].code);         fputc(':',fp);         fprintf(fp,"%s",stu[i].name);         fputc(':',fp);         fprintf(fp,"%d",stu[i].math);         fputc(':',fp);         fprintf(fp,"%d",stu[i].English);         fputc(':',fp);         fprintf(fp,"%d",stu[i].Chinese);         fputc('\n',fp);     }       fclose(fp);     printf("\n");     printf("Module 2 begin:\n");     printf("***********************************\n");     printf("Display stud.dat file all data:\n");     if ((fp=fopen("/tmp/stud.dat","rt+"))==NULL)     {         printf("open file stud.dat failed!\n");         exit(1) ;     }       ch=fgetc(fp);     while(ch!=EOF)      {          putchar(ch);           ch=fgetc(fp);      }      fclose(fp);        printf("\n");      printf("Module 3 begin:\n");     printf("***********************************\n");      printf("Sort average score and output to studsort.dat\n");      if ((fp=fopen("/tmp/stud.dat","rt+"))==NULL)     {         printf("open file stud.dat failed!\n");         exit(1) ;         }      for(i=0;i<10;i++)      {          for(k=0;k<5;k++)           {            n=0;           temp[k][n]=fgetc(fp);                for(;temp[k][n]!=EOF;n++)                {                     if(temp[k][n]==':' || temp[k][n]=='\n')                 break;                 temp[k][n+1]=fgetc(fp);             }         temp[k][n]='\0';         }           stu[i].code=atoi(temp[0]);           strcpy(stu[i].name,temp[1]);           stu[i].math=atoi(temp[2]);          stu[i].English=atoi(temp[3]);           stu[i].Chinese=atoi(temp[4]);           stu[i].average=(stu[i].math+stu[i].English+stu[i].Chinese)/3;     }     for(i=9;i>0;i--)     {         for(j=0;j<i;j++)         {             if(stu[j].average<stu[j+1].average)             {                 t.code=stu[j].code;                 strcpy(t.name,stu[j].name);                 t.math=stu[j].math;                 t.Chinese=stu[j].Chinese;                 t.English=stu[j].English;                 t.average=stu[j].average;                 stu[j].code=stu[j+1].code;                 strcpy(stu[j].name,stu[j+1].name);                 stu[j].math=stu[j+1].math;                 stu[j].Chinese=stu[j+1].Chinese;                 stu[j].English=stu[j+1].English;                 stu[j].average=stu[j+1].average;                 stu[j+1].code=t.code;                 strcpy(stu[j+1].name,t.name);                 stu[j+1].math=t.math;                 stu[j+1].Chinese=t.Chinese;                 stu[j+1].English=t.English;                 stu[j+1].average=t.average;             }         }     }      for(i=0;i<10;i++)      {           printf("%d %s %d %d %d %d\n",stu[i].code,stu[i].name,stu[i].math,stu[i].Chinese,stu[i].English,stu[i].average);     }         fclose(fp);        if ((fp=fopen("/tmp/studsort.dat","wt+"))==NULL)         {         printf("open file studsort.dat failed!\n");         exit(1) ;         }     for (i=0;i<10;i++)     {         fprintf(fp,"%d",stu[i].code);         fputc(':',fp);         fprintf(fp,"%s",stu[i].name);         fputc(':',fp);         fprintf(fp,"%d",stu[i].math);         fputc(':',fp);         fprintf(fp,"%d",stu[i].English);         fputc(':',fp);         fprintf(fp,"%d",stu[i].Chinese);         fputc(':',fp);         fprintf(fp,"%d",stu[i].average);         fputc('\n',fp);     }     fclose(fp);       printf("Module 4 begin:\n");     printf("***********************************\n")
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服