C语言小项目.docx

上传人:b****4 文档编号:11987032 上传时间:2023-04-16 格式:DOCX 页数:25 大小:20.29KB
下载 相关 举报
C语言小项目.docx_第1页
第1页 / 共25页
C语言小项目.docx_第2页
第2页 / 共25页
C语言小项目.docx_第3页
第3页 / 共25页
C语言小项目.docx_第4页
第4页 / 共25页
C语言小项目.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言小项目.docx

《C语言小项目.docx》由会员分享,可在线阅读,更多相关《C语言小项目.docx(25页珍藏版)》请在冰豆网上搜索。

C语言小项目.docx

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个学生的学号,XX,三门课的成绩

2、从键盘输入10个学生的以上内容

3、输出单门课成绩最高的学生的学号、XX、以及该门课程的成绩4、输出三门课程的平均分数最高的学生的学号、XX及其平均分

5、将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:

number    name  math  Chinese  English   average

103       tom   90     90      100          95

101     alice   90     80      70           80项目实训五实训内容:

1、定义一个结构体数组,存放10个学生的学号,XX,三门课的成绩

2、从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件

3、打开stud.dat文件,将数据读出,查看是否正确写入,关闭文件。

4、打开文件stud.dat文件,读出数据,将10个学生按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件studsort.dat中。

5、从studsort.dat文件中读取第2,4,6,8,10个学生的数据。

最终项目学生成绩管理系统完成下列功能:

1、输入:

函数input把20学生的学号、XX、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、XX、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。

2、插入:

insert函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。

3、排序:

sort函数对所有学生按要求排序(1.学号 2.总成绩 ),并输出。

4、查找:

find函数输入一个学生的学号或XX,找到该学生并输出该学生的全部内容。

要求能查询多次。

5、删除:

delete函数输入一个学生的学号或XX,找到该学生并删除该学生的全部内容。

6、输出:

函数output输出全部学生的记录。

7、main调用所有函数,实现全部函数功能(注:

除了定义结构外,不允许使用全局变量,函数之间的数据全部使用参数传递)。

/**************************************/

/*项目实训一 */

/*源代码如下:

*/

/**************************************/

#include

#include

#include

main()

{

   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_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("inputstudentscore:

\n");

   scanf("%d",&num_std);   for(num_init=0;num_init<=10;num_init++)

   {

       if(num_std>a[num_init])

       {

           num_tag=num_init;

           inttotal=10;

           while(num_init

           {

               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]

                       {

                               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

#include

#include

#defineMAXLEN1000

voidsort(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;j>0;j--)

       {

               for(i=0;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]

                               {

                                       t=a[i];

                                       a[i]=a[i+1];

                                       a[i+1]=t;

                               }

                       }

               }

       }

}

/**************************************/

/*项目实训三 */

/*源代码如下:

*/

/**************************************/

#include

#include

#include

voidsort(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;i<10;i++)

               scanf("%d",&str[i]);

       sort(str);

       printf("sortresult:

\n");

       for(i=0;i<10;i++)

               printf("%d",*(pi+i));

       getchar();

       printf("\nfun2)\n");

       printf("inputmessage:

\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);

       return0;

}

voidsort(int*p)

{

       inti,j,t;       for(j=9;j>1;j--)

       {

               for(i=0;i

               {

                       if(*(p+i)<*(p+i+1))

                       {

                               t=*(p+i);

                               *(p+i)=*(p+i+1);

                               *(p+i+1)=t;

                       }

               }

       }

}

/**************************************/

/*项目实训四 */

/*源代码如下:

*/

/**************************************/

#include

#include

#include

intmain(intargc,char*argv[])

{

       structstu

       {

               intnum;

               charname[20];

               intmath;

               intchinese;

               intenglish;

               intaverage;

       }s[10];

       structstutemp;

       intn,l,i,j;

       for(n=0;n<10;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;i>0;i--)

       {

               for(j=0;j

               {

                       if(s[j].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("maxstudent:

\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);

       }

       return0;

}

/*******************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1