《程序设计课程设计》实验报告材料

合集下载

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。

掌握了c语言,可以说你就掌握了很多门语言。

学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。

所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。

在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。

这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。

比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。

c程序课程设计实验报告

c程序课程设计实验报告

c程序课程设计实验报告一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和良好的编程习惯。

具体分解为以下三个方面的目标:1.知识目标:使学生了解C程序设计的基本概念,掌握C语言的基本语法和编程方法,包括变量、数据类型、运算符、控制结构、函数等。

2.技能目标:培养学生具备编写和调试C程序的能力,能运用C语言解决简单的实际问题,培养学生的创新能力和实践能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,培养学生良好的编程习惯和团队协作精神,提高学生的自主学习和问题解决能力。

二、教学内容本课程的教学内容主要包括C程序设计的基本概念、语法和编程方法。

具体安排如下:1.C程序设计基本概念:介绍计算机编程的基本概念,使学生了解C语言的特点和应用领域。

2.C语言语法:讲解C语言的基本语法,包括变量、数据类型、运算符、控制结构等。

3.C程序设计方法:教授编程方法,包括函数、数组、指针等,并通过实例使学生掌握编程技巧。

4.编程实践:安排一定的实验课时,使学生动手实践,培养学生的编程能力和问题解决能力。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性,提高教学效果。

具体方法如下:1.讲授法:讲解C程序设计的基本概念、语法和编程方法,使学生掌握理论知识。

2.案例分析法:通过分析典型案例,使学生了解编程技巧和方法,提高学生的实践能力。

3.实验法:安排实验课,使学生动手实践,培养学生的编程能力和问题解决能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队协作能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

具体如下:1.教材:选用权威、实用的教材,为学生提供系统的学习资源。

2.参考书:推荐学生阅读适量的参考书,丰富学生的知识体系。

3.多媒体资料:制作课件、教学视频等多媒体资料,提高教学的趣味性和直观性。

程序设计实验报告总结.doc

程序设计实验报告总结.doc

程序设计实验报告总结实验五使用数组的程序设计班级学号姓名一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。

(2)掌握字符数组的使用。

(3)掌握与数组有关的算法。

二、实验内容及步骤1、验证性实验输入已编好的源程序,然后进行编辑、编译、连接和运行,观察运行结果。

(1)某数列前两项为0,1,以后各项均为前相邻两项之和,输出该数列前20项。

#include<stdio.h>main(){long i,x[20];x[0]=0;x[1]=1;for(i=2;i<20;i++)x[i] =x[i-1]+x[i-2];for(i=0;i<20;i++)printf("% ld\t",x[i]);}输出结果:(2)从键盘输入N个自然数,然后按升序进行排列。

用;比较法;#include<stdio.h>#define N 10main(){int a[N],t,i,j;for(i=0;i<N;i++) /*本循环输入N个原始数据*/scanf ("%d", &a[i]);for(i=0;i<N-1;i++) /*本循环完成排序*/for(j=i+1;j<N;j++) /* x[i]与它后边所有元素逐一比较,大则交换*/if (a[j]<a[i]) {t=a[j];a[j]=a[i];a[i]=t;}for(i=0;i<N;i++) /* 输出排序后的数组*/printf(" %d",a[i]);}输出结果:2、完成以下程序,并进行调试(1)从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别统计下列内容:a)统计不及格人数并打印不及格学生名单;b)统计成绩在全班平均分及平均分之上的学生人数并打印其学生名单;c)统计各分数段的学生人数及所占的百分比程序代码:#include<stdio.h>int F1(int i,int sum,int *a,int *counter){int j;printf("不及格学生名单:");for(j=1;j<i-1;j++){sum+=a[j];if(a[j]<60){printf("%3d",j);counter[0]++;}}return sum;}F2(int i,float average,int *a,int *counter){int j;printf("average=%f,成绩大于等于平均分的学生名单:",average);for(j=1;j<i-1;j++){if(a[j]>=average){printf("%3d",j);counter[11]++;}}}F3(int i,int *a,int *counter){int j;for(j=1;j<i-1;j++){if(a[j]<=10) counter[1]++;else if(a[j]>10&&a[j]<=20) counter[2]++;else if(a[j]>20&&a[j]<=30) counter[3]++;else if(a[j]>30&&a[j]<=40) counter[4]++;else if(a[j]>40&&a[j]<=50) counter[5]++;else if(a[j]>50&&a[j]<=60) counter[6]++;else if(a[j]>60&&a[j]<=70) counter[7]++;else if(a[j]>70&&a[j]<=80) counter[8]++;else if(a[j]>80&&a[j]<=90) counter[9]++;else if(a[j]>90&&a[j]<=100) counter[10]++;}printf("各分数段人数: 百分比:\n");for(j=1;j<=10;j++)printf("%d %f\n",counter[j],(float)(counter[j])/(i-2)); }main(){static int a[31],counter[12],flag;int i=1,j=1,sum=0;float average;printf("请输入学生成绩并以负值结束: ");do{scanf("%d",&a[i]);if(a[i]<0)flag=1;i++;}while(flag==0);sum=F1(i,sum,a,counter);printf("不及格人数=%d\n",counter[0]);average=(float)sum/(i-2);F2(i,average,a,counter);printf("大于等于平均分人数=%d\n",counter[11]);F3(i,a,counter);}运行结果:(2)编写一个程序,利用字符数组实现两个字符串的比较。

程序设计实践 实验报告

程序设计实践 实验报告

程序设计基础课程设计通讯录管理系统院系:计算机学院班级:信息工程1班姓名:方穗城学号:201013064003合作者:丁丹妮、李晓艳指导教师:刘艳军2011 年5月3 日目录摘要 (1)1.研究背景及意义 (1)第一章系统设计说明以及功能分析 (2)1.1系统简述 (2)1.2通讯录的功能分析 (2)第二章概要设计 (3)2.1 总体程序框图 (3)第三章系统功能模块的具体设计 (4)3.1各个模块的程序流程图 (4)1)①主函数程序(N-S)流程图及运行界面 (4)2)查找我的好友(源程序代码)与运行界面 (5)3)修改我的好友(源程序代码)与程序运行界面 (7)第四章设计总结 (9)附录一 (10)摘要1.研究背景及意义通讯录管理系统是每一个用户管理通讯录的不可或缺的管理信息系统,他的内容用户的管理者来说是至关重要的。

所以通讯录管理系统能够为每一个用户管理者提高充足的信息和快捷的查询手段,大大的方便用户合理管理通讯录。

随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,七其强大的功能已经为人们所深刻认识,它以进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、储存量大、保密性好、寿命长、成本低等。

这些优点能够极大的通讯录管理的效率,也是用户理财的科学化正规化管理,与先进科学技术接轨的重要条件。

因此,开发这样一套软件是非常有必要的,对于我们计算机专业的学生来说,也是一次将计算机应用于现实管理的一次有意义实践。

第一章系统设计说明以及功能分析1.1系统简述此通讯录管理系统是基于对话框的应用程序,在生活中应用频繁的管理工具,它以数据库的方式保存各种信息。

利用本系统可以了解朋友的各种基本信息,包括姓名,电话号码,QQ号、生日等。

还能按名称进行纪录的查询、增加、修改、删除等操作。

《程序设计课程设计》实验报告

《程序设计课程设计》实验报告

《程序设计》课程设计姓名:学号:班级:软件工程14 班指导教师:成绩:1.消除类游戏1.1【问题描述】消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。

当有多处可以被消除时,这些地方的棋子将同时被消除。

1.2【基本要求】现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。

输出说明:棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。

1.4【功能实现】#include <iostream>#include <windows.h>using namespace std;int main(){int m, n, i ,j;int temp;cin >> n >> m;temp = m;m = n;n = temp;int * map = new int[m * n];int * mark = new int[m * n];int * tmap = map;*(tmark + dif) = 0;*(tmark + dif + n) = 0;*(tmark + dif + 2 * n) = 0; }tmap = map + (j+1) + i * n;}//输出cout << endl;tmap = map;for (i = 0; i < m; i++)for (j = 0; j < n; j++)if (* (tmark + i * n + j) == 0) *(tmap + i * n + j) = 0;for (i = 0; i < m; i++){for (j = 0; j < n; j++)cout<< *(tmap + i * n + j)<<" "; cout << endl;}system("pause");return 0;2数字统计2.1【问题描述】某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。

C语言程序设计课程设计报告

C语言程序设计课程设计报告

C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。

3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。

提高编写程序解决实际问题的能力、调试程序的技术。

三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。

主程序:新建:输入记录(遇#号时停止输入)。

插入:在指定位置插入记录。

显示:列出所有记录。

查询:一、按学号查询;二、按名字排序。

删除:一、按学号删除;二、按名字删除;3、删除所有记录。

排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。

保留:保留为任意名字,系统自动加后缀名为.txt。

读取:读取程序目录下的后缀名为.txt的文件。

退出:退出程序。

五、各功能模块的具体实现,用图表表示。

输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。

STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。

《程序设计》实验报告

《程序设计》实验报告

《程序设计》实验报告实验报告:程序设计一、实验目的本次实验的目的是通过一个简单的程序设计实践项目,让学生了解并掌握C语言的基本语法和程序设计能力。

通过此次实验,学生需要能够利用C语言的各种语法和函数,编写一个完整的、具备一定功能的程序。

二、实验内容本次实验要求学生编写一个简单的学生成绩管理系统。

系统需要实现以下功能:1.从文件中读取学生的信息,并存储在程序中;2.根据学生的成绩,计算每个学生的总分和平均分,并进行排名;3.根据学生的姓名、学号、成绩等信息,能够实现对学生信息的查询;4.能够对学生信息进行排序和修改;5.将学生的信息输出到文件中。

三、实验过程1.定义学生信息的结构体,并定义需要用到的全局变量;2.编写从文件中读取学生信息的函数,并将读取到的信息存储在数组中;3.初始化学生信息、计算每个学生的总分和平均分,并进行排名;4.编写查询学生信息、排序学生信息和修改学生信息的函数;5.编写将学生信息输出到文件中的函数;6.在主函数中根据用户输入调用以上函数,完成学生成绩管理系统的各项功能。

四、实验结果经过编写和调试,最终实现了一个简单的学生成绩管理系统。

用户可以通过菜单选择需要的功能,包括添加学生信息、查询学生信息、修改学生信息、排序学生信息和输出学生信息等。

程序能够准确地读取和存储学生的信息,并能够根据用户的指令完成相应的操作。

五、实验总结通过本次实验,我对C语言的基本语法有了更深入的理解,并通过实践掌握了C语言的一些常用函数和数组的使用。

在编写程序的过程中,我还学会了如何利用文件进行输入和输出,提高了程序的灵活性和实用性。

通过对学生成绩管理系统的设计与实现,我对程序设计的整个过程有了更清晰的认识,增强了我的程序设计能力。

在本次实验中,我还遇到了一些问题和困难。

比如学生信息的存储和读取、学生信息的排序和查询等。

但通过和同学的讨论和老师的指导,我最终解决了这些问题,并成功完成了实验。

在解决问题的过程中,我学会了如何运用调试工具进行程序的调试和错误的定位,提高了解决问题的能力。

程序设计实训报告(9篇)

程序设计实训报告(9篇)

程序设计实训报告(9篇)【导语】程序设计实训报告怎么写出亮点?整理了9篇优秀的《程序设计实训报告》通用版范文,有规范的开头结尾写法和标准的书写格式。

是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。

【第1篇】程序设计实训报告程序设计实训报告1一,实训目的:加深对可视化编程技术基本学问的理解,把握运用vb开发应用程序的基本方法及基本技巧。

二,实训时间:20xx年10月20xx年11月三,实训方式:上机操作四,实训类容:这次在杨立雄老师的带领下,利用vb开发工具与数据库sql开发一个使用的小型管理信息系统。

我选择了学籍管理系统。

它的功能要求如下:1,学籍信息输入:实现同学基本状况的输入。

包括各个同学的状况,姓名,家庭号码,家庭住址,学号等各个信息。

2,学籍信息管理:本模块实现了信息的修改,删除,查询。

还有个人信息。

把信息统计这个繁琐的工作简洁化,为同学信息的管理方面提高工作效率。

3,学籍信息查询:通过输入学号便可以查询到这个同学的全部信息,包括姓名,性别,诞生年月,班级,入学日期,联系电话,嘉奖和成果表都一目了然,很大的便利了教工们查询同学信息的过程。

4,统计查询:实现查询全班人数,男女生比例等。

五,实训体会:这次实训,感觉既好玩又有些辛苦。

这还是老师担忧我们适应不了所以没教那么多学问,即使这样我们仍学到了比以前上学时更多的学问,而且这些学问有好多都是我们自己去领悟的到的。

我也知道有人比我们更累,所以我自觉得还是挺好的。

经过这次的实训,我真真实切的感受到了计算机在我们生活中工作中的运用,这些软件,程序能让我们提高工作的效率,更直观更便捷切入主题。

这次我们学习的是数据源的原理及应用的各方面学问,由老师带着我们不断操作。

vb能有效的组织,管理和共享数据库信息,能把数据库信息与ado结合在一起,实现数据库信息的共享。

同时,vb概念清楚,简洁易学,使用。

是适合企业管理人员,数据库管理员使用的首选。

程序设计_实验报告

程序设计_实验报告

一、实验目的1. 熟悉程序设计的基本概念和流程。

2. 掌握基本的编程语言语法和编程技巧。

3. 培养逻辑思维能力和问题解决能力。

4. 提高编程实践能力,为以后的学习和工作打下基础。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm三、实验内容1. 编写一个简单的计算器程序,实现加、减、乘、除四种基本运算。

2. 编写一个学生信息管理系统,实现学生信息的增删改查功能。

3. 编写一个简单的图书管理系统,实现图书信息的增删改查功能。

四、实验步骤1. 计算器程序(1)设计计算器界面,使用文本输入和输出。

(2)编写加、减、乘、除四种运算的函数。

(3)编写主函数,根据用户输入选择运算类型,调用相应的运算函数,并输出结果。

2. 学生信息管理系统(1)定义学生信息类,包含姓名、年龄、性别、成绩等属性。

(2)设计学生信息管理系统界面,使用文本输入和输出。

(3)编写增删改查功能的函数,实现对学生信息的操作。

(4)编写主函数,根据用户输入选择操作类型,调用相应的函数。

3. 图书管理系统(1)定义图书信息类,包含书名、作者、出版社、出版日期等属性。

(2)设计图书管理系统界面,使用文本输入和输出。

(3)编写增删改查功能的函数,实现对图书信息的操作。

(4)编写主函数,根据用户输入选择操作类型,调用相应的函数。

五、实验结果与分析1. 计算器程序(1)界面设计:使用文本输入和输出,实现简单的交互。

(2)功能实现:成功实现加、减、乘、除四种基本运算。

(3)测试结果:对多个测试用例进行测试,程序运行正常,输出结果正确。

2. 学生信息管理系统(1)界面设计:使用文本输入和输出,实现简单的交互。

(2)功能实现:成功实现学生信息的增删改查功能。

(3)测试结果:对多个测试用例进行测试,程序运行正常,功能完整。

3. 图书管理系统(1)界面设计:使用文本输入和输出,实现简单的交互。

(2)功能实现:成功实现图书信息的增删改查功能。

《c语言程序设计》实验报告

《c语言程序设计》实验报告

《c语言程序设计》实验报告《C语言程序设计》实验报告一、引言C语言是一种广泛应用于计算机编程的高级编程语言,具有灵活性和高效性的特点。

在《C语言程序设计》课程中,我们通过实验来巩固和应用所学的知识,提高我们的编程能力和解决问题的能力。

本实验报告将对我们在课程中进行的实验进行总结和分析。

二、实验一:Hello World程序实验一是我们在学习任何编程语言时的传统开始,即编写一个简单的Hello World程序。

这个程序的目的是在屏幕上显示出"Hello World"这个字符串。

通过这个实验,我们学会了如何编写基本的C语言程序,并且了解了程序的编译和运行过程。

三、实验二:计算圆的面积实验二要求我们编写一个程序,通过输入圆的半径,计算并输出圆的面积。

在这个实验中,我们学会了如何使用变量、常量和运算符来进行数学计算,并且学会了如何使用C语言的输入输出函数。

四、实验三:判断闰年实验三要求我们编写一个程序,判断输入的年份是否为闰年。

通过这个实验,我们学会了如何使用条件语句来进行逻辑判断,并且学会了如何使用布尔运算符和关系运算符。

五、实验四:字符串处理实验四要求我们编写一个程序,实现对字符串的基本操作,包括字符串的长度计算、字符串的复制和字符串的连接。

通过这个实验,我们进一步熟悉了C语言中的字符串处理函数,并且学会了如何使用循环和数组来处理字符串。

六、实验五:排序算法实验五要求我们编写一个程序,实现对一组数字的排序。

通过这个实验,我们学会了如何使用数组和循环来进行排序算法的实现,并且学会了如何评估和比较不同排序算法的效率。

七、实验六:文件操作实验六要求我们编写一个程序,实现对文件的读写操作。

通过这个实验,我们学会了如何使用C语言的文件处理函数来进行文件的打开、读取和写入,并且学会了如何处理文件指针和文件的结束标志。

八、实验七:数据结构实验七要求我们编写一个程序,实现对链表数据结构的基本操作,包括链表的插入、删除和查找等。

《C语言程序设计实验》实验报告

《C语言程序设计实验》实验报告

《C语言程序设计实验》实验报告实验目的:通过完成实验,加深对C语言程序设计的理解,掌握C语言中常用的编程技巧和方法,提高编程能力。

实验内容:本次实验包括以下三个实验题目:1.编写一个C程序,实现输入5个整数,然后按照从小到大的顺序输出这5个整数。

2.编写一个C程序,实现输入一个整数n,计算并输出从1到n的所有自然数的阶乘。

3.编写一个C程序,实现输入一个整数n,计算并输出n的前n项斐波那契数列。

实验步骤:1.第一个实验题目的完成步骤:1.1.定义一个长度为5的整型数组,用于存储输入的5个整数。

1.2. 使用for循环语句输入5个整数,并将其存储到数组中。

1.3.使用冒泡排序算法对数组进行排序。

1.4. 使用for循环语句输出排序后的数组。

2.第二个实验题目的完成步骤:2.1.定义一个变量n,用于存储输入的整数。

2.2. 使用for循环语句计算并输出从1到n的阶乘。

3.第三个实验题目的完成步骤:3.1.定义一个整型数组,用于存储斐波那契数列。

3.2.输入一个整数n,用于确定斐波那契数列的长度。

3.3. 使用for循环语句计算并输出前n项斐波那契数列。

实验结果:经过实验,我成功完成了以上三个实验题目,分别实现了输入5个整数按照从小到大排序输出、计算n的阶乘以及输出n的前n项斐波那契数列的功能。

实验总结:通过本次实验,我巩固了C语言的基础知识,掌握了数组、循环和排序算法等编程技巧。

在实验中,我发现了程序设计中的一些细节问题,并通过修改和调试解决了这些问题,提高了自己的编程能力。

在未来的学习中,我会继续深入学习C语言及其他编程语言,不断提升自己的编程水平。

《程序设计》实验报告

《程序设计》实验报告

《程序设计》实验报告实验报告:程序设计摘要:本实验是关于程序设计的实践,通过实验探讨了程序设计的基本概念、基本方法和基本技巧。

实验过程中,学生需要自主选择并解决具体问题,从而学习和理解程序设计的过程和思想。

1.引言程序设计是计算机科学和工程的重要组成部分,是指根据特定需求编写计算机程序的过程。

这个过程包括定义问题、设计算法、编写程序、测试和调试程序等。

程序设计既是一种艺术,也是一种科学,需要程序员具备一定的逻辑思维能力和编程经验。

2.实验目的本次实验的目的是通过实践掌握程序设计的基本概念、基本方法和基本技巧。

具体来说,实验要求学生选择一个具体问题,然后根据问题的需求设计并编写出解决问题的程序。

3.实验内容3.1选择问题:首先,学生需要选择一个具体的问题进行解决。

这个问题可以是实际生活中遇到的问题,也可以是抽象的数学问题等。

3.2设计算法:针对所选择的问题,学生需要设计一个合适的算法。

算法是解决问题的思路和步骤的描述,通常通过伪代码或流程图表示。

3.3编写程序:根据设计的算法,学生需要用合适的编程语言编写程序,并且确保程序在运行时能够正确、高效地解决问题。

3.4测试和调试:完成编写程序后,学生需要进行测试和调试,以确保程序的正确性和稳定性。

测试可以包括输入输出的验证、负载测试等。

4.实验结果与分析本次实验中,我选择了一个简单的问题进行解决:计算一个整数序列中的最大值。

针对这个问题,我设计了一个简单的算法:遍历序列,依次比较当前元素和已记录的最大值,更新最大值。

我用C++语言编写了解决问题的程序,并进行了测试。

测试结果表明,我的程序能够正确地计算出给定序列的最大值。

通过本次实验,我对程序设计的基本概念、基本方法和基本技巧有了更深入的理解。

我学会了如何选择问题、设计算法和编写程序,以及如何进行测试和调试。

这些都是程序设计中必不可少的一部分,对我今后的学习和工作都具有重要意义。

5.实验总结本次实验是一次很好的学习机会。

程序设计课程设计实验

程序设计课程设计实验

程序设计课程设计实验一、教学目标本课程的教学目标是使学生掌握程序设计的基本概念、原理和方法,培养学生运用程序设计解决问题的能力。

具体目标如下:1.知识目标:(1)理解程序设计的基本概念,如算法、编程语言、编译器等。

(2)掌握至少一种编程语言,如Python、C++等。

(3)了解程序设计的基本原理,如变量、数据类型、控制结构等。

2.技能目标:(1)能够运用程序设计解决问题,如计算、排序、查找等。

(2)具备良好的编程习惯,如代码规范、注释等。

(3)能够使用调试工具,如调试器、调试代码等。

3.情感态度价值观目标:(1)培养学生的创新意识,鼓励学生勇于尝试新的编程思路。

(2)培养学生的团队协作精神,如代码共享、协同调试等。

(3)培养学生的自主学习能力,鼓励学生在遇到问题时主动查找资料、解决问题。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.编程语言基础:介绍Python、C++等编程语言的基本语法和用法。

2.算法与数据结构:讲解常用的算法和数据结构,如排序、查找、栈、队列等。

3.程序设计原理:介绍程序设计的基本原理,如变量、数据类型、控制结构等。

4.编程实践:通过实际项目案例,使学生掌握程序设计的实际应用。

5.调试与优化:讲解调试工具的使用方法,以及如何进行代码优化。

三、教学方法为了达到课程目标,本课程将采用以下教学方法:1.讲授法:讲解编程语言基础、算法与数据结构等理论知识。

2.案例分析法:分析实际项目案例,使学生了解程序设计的应用。

3.实验法:让学生动手编写代码,进行调试和优化,提高实际操作能力。

4.讨论法:学生进行小组讨论,培养团队协作精神和创新意识。

四、教学资源为了支持课程教学和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的编程教材,如《Python编程:从入门到实践》等。

2.参考书:提供相关的编程参考书籍,如《C++ Primer》等。

3.多媒体资料:制作精美的PPT,以及相关的视频教程。

程序设计实践实验报告(2篇)

程序设计实践实验报告(2篇)

第1篇一、实验目的通过本次实验,使学生能够掌握程序设计的基本方法和技巧,提高编程能力,培养解决实际问题的能力。

本实验旨在通过具体的编程任务,让学生熟悉编程环境,理解程序设计的基本原理,并能够将所学知识应用于实际问题中。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm三、实验内容本次实验选择了两个任务,分别是“学生信息管理系统”和“简易计算器”。

四、实验步骤1. 学生信息管理系统(1)需求分析本系统用于管理学生信息,包括学生的基本信息(如姓名、学号、性别、年龄等)和成绩信息。

系统应具备以下功能:- 添加学生信息- 查询学生信息- 删除学生信息- 修改学生信息- 显示所有学生信息(2)设计根据需求分析,设计如下模块:- 数据存储模块:用于存储学生信息,采用文本文件进行存储。

- 数据处理模块:用于处理学生信息,包括添加、查询、删除、修改和显示等功能。

- 用户界面模块:用于与用户进行交互,接收用户输入和显示系统信息。

(3)实现以下是学生信息管理系统的部分代码:```python数据存储模块def save_data(student_info):with open("students.txt", "a") as file:file.write(student_info + "\n")def load_data():with open("students.txt", "r") as file:data = file.readlines()return data数据处理模块def add_student():name = input("请输入学生姓名:")student_id = input("请输入学生学号:")gender = input("请输入学生性别:")age = input("请输入学生年龄:")student_info = f"{name},{student_id},{gender},{age}"save_data(student_info)def search_student():student_id = input("请输入学生学号:")data = load_data()for line in data:if line.split(",")[1] == student_id: print("查询成功!")print(line.strip())breakelse:print("查询失败!")用户界面模块def main():while True:print("1. 添加学生信息")print("2. 查询学生信息")print("3. 删除学生信息")print("4. 修改学生信息")print("5. 显示所有学生信息")print("6. 退出系统")choice = input("请输入你的选择:") if choice == "1":add_student()elif choice == "2":search_student()elif choice == "3":删除学生信息elif choice == "4":修改学生信息elif choice == "5":显示所有学生信息elif choice == "6":breakelse:print("无效的选择,请重新输入!") if __name__ == "__main__":main()```2. 简易计算器(1)需求分析本计算器应具备以下功能:- 加法- 减法- 乘法- 除法(2)设计根据需求分析,设计如下模块:- 输入模块:用于接收用户输入的两个数和运算符。

程序设计实验报告

程序设计实验报告

程序设计实验报告一、实验目的本实验旨在通过一个具体的程序设计实例,让学生掌握软件设计的基本原则和方法,培养学生编写高效、简洁、可维护和易扩充的程序的能力。

二、实验背景本实验涉及一个学生信息管理系统的设计与实现。

学生信息管理系统是一个常见的应用程序,主要功能包括学生信息的录入、查询、修改和删除等操作。

该系统需要能够对学生信息进行存储和管理,为用户提供方便快捷的操作界面。

三、实验内容1.设计数据库表结构根据需求分析,设计数据库表结构,包括学生信息表、课程信息表和成绩表等。

2.编写程序界面使用图形界面编程工具,设计学生信息管理系统的用户界面,包括学生信息的录入、查询、修改和删除等功能。

3.实现数据库操作功能编写程序代码,实现对数据库表的增删改查等操作功能。

4.进行系统测试对学生信息管理系统进行测试,验证系统的功能和稳定性,修复程序中存在的bug。

四、实验步骤1.确定需求根据实验要求,确定学生信息管理系统的需求,包括功能要求和性能要求等。

2.设计数据库表结构根据需求分析,设计学生信息管理系统的数据库表结构,包括学生表、课程表和成绩表等。

3.编写程序界面使用图形界面编程工具,设计学生信息管理系统的用户界面,包括登录界面、主界面和各功能模块界面等。

4.实现数据库操作功能根据设计的数据库表结构和程序界面,编写程序代码,实现对数据库表的增删改查等操作功能。

5.进行系统测试对学生信息管理系统进行测试,验证系统的功能和稳定性,修复程序中存在的bug。

六、实验结果与分析经过实验,成功实现了学生信息管理系统的设计与开发。

该系统具有良好的用户界面和功能完备的操作模块,能够方便快捷地进行学生信息的录入、查询、修改和删除等操作。

根据实际测试结果,该系统在功能和性能上都能满足实际需求。

用户可以通过登录界面进入系统,然后利用系统提供的功能模块进行对学生信息的操作。

系统能够对用户的输入进行合法性检查,确保数据的准确性和完整性。

同时,系统能够对用户的操作进行记录,方便管理员进行管理和查询。

C语言程序设计实验报告范文c语言程序设计实验报告书

C语言程序设计实验报告范文c语言程序设计实验报告书

C语言程序设计实验报告范文c语言程序设计实验报告书c语言程序设计实验报告篇一一、实验目的:1、掌握C语言的`数据类型和变量的声明。

2、掌握不同类型数据之间赋值的规律。

3、掌握C语言的运算符和表达式的使用。

4、熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容:①输人程序: includevoid main() { int a, b; float d,e; charc1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.;g=0.; m=50000;n=-60000;p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }②运行此程序并分析结果按习题4. 8要求编写程序题目为: 设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。

程序:三、实验步骤:①输人程序:includevoid main() { int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.;g=0.; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%dc1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }②运行此程序并分析结果。

程序设计实习课程设计(实训)报告书

程序设计实习课程设计(实训)报告书
}break;
当需要修改某生数据时,选择功能4先提示输入要修改的学生学 号,输入完成将链表头指针和学号一起传给refresh函数并调用该函 数。在该函数中先利用新指针p和循环结构搜索到指定ID的节点并输 出,提示“确认要修改?”选择y可以进行该节点信息的重新编辑,编 辑完成后返回头指针并退出。
当需要新添加学生信息时,选择功能5调用insert函数,在该函数 中,需要先找到尾节点并把它用r指向,源代码部分如下:
1.
1. 课程设计(实训)计划
设计一个计算机程序,实现学生信息成绩管理系统。 1.设计一个含有10个菜单项的主控菜单,这10个菜单项的内容和 输入提示如下: 0 返回 1 输入学生信息 2 显示学生信息 3 查询学生信息 4 更新学生信息 5 添加学生信息 6 删除学生信息 7 计算学生成绩 8 显示学生名次 请选择功能编号: 使用数字0~9来选择菜单项,其它输入则不起作用。 2. 在查询学生信息时,又分为按学号查询或按姓名查询。菜单项 及提示内容如下: 1 按学号查询 2 按姓名查询 3 返回上级菜单 请选择功能编号。 使用数字1~3来选择菜单项,其它输入则不起作用。 在计算学生成绩时,又可分为如下功能: 计算总成绩 计算平均成绩 返回上级菜单 请选择功能编号。 使用数字1~3来选择菜单项,其它输入则不起作用。 工作进度安排如下:前两天实现学生信息的输入、显示、查找、
while(h!=NULL)
{
NodePtr p=h->next;
while(p!=NULL)
{
if(((h->data).score1+(h->data).score2+(h-
>data).score3)<((p->data).score1+(p->data).score2+(p-

《程序设计》课程实验报告.

《程序设计》课程实验报告.

《程序设计》课程实验报告一2 练习泛型算法的使用:#include<list>#include<iostream>//#inclued<algorithm>using namespace std;typedef list<int> lin;int value[]={1,6,7,8,9};//定义一个数组value 并赋值void print(lin &l){int i;lin::iterator lit;//定义一个迭代器for(lit=l.begin();lit!=l.end();lit++)cout<<(*lit)<<" ";//依次打印list中的元素cout<<endl;}二实验名称搜索算法的实验姓名黄星辰系院专业计算机与信息学院班级计算机科学与技术12—2班学号2012211643实验日期指导教师徐本柱成绩一、实验目的和要求1.掌握宽度优先搜索算法。

2.掌握深度优先搜索算法。

}运行截图:3. 骑士游历问题:在国际棋盘上使一个骑士遍历所有的格子一遍且仅一遍,对于任意给定的顶点,输出一条符合上述要求的路径。

#include <stdio.h>int board[8][8] = {0};int main(void) {int startx, starty;int i, j;printf("输入起始点:"); scanf("%d %d", &startx, &starty);if(travel(startx, starty)) {printf("游历完成!\n");}else {printf("游历失败!\n");}for(i = 0; i < 8; i++) {4.倒水问题:#include"stdio.h"int main(){int ca,cb,cc,x,y;while(scanf("%d%d%d",&ca,&cb,&cc)!=EOF) {if(cb==cc){ printf("fill B\n");}else if(ca==cc){printf("fill A\n");三实验名称计算几何算法的实现姓名系院专业计算机与信息学院班级学号实验日期指导教师成绩一、实验目的和要求1.理解线段的性质、叉积和有向面积。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计》课程设计姓名:学号:班级:软件工程14 班指导教师:成绩:1.消除类游戏1.1【问题描述】消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。

当有多处可以被消除时,这些地方的棋子将同时被消除。

1.2【基本要求】现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。

请注意:一个棋子可能在某一行和某一列同时被消除。

输入数据格式:输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。

接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。

颜色使用1至9编号。

输出数据格式:输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。

如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。

1.3【测试数据】为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。

测试数据一输出说明:棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。

棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。

1.4【功能实现】#include <iostream>#include <windows.h>using namespace std;int main(){int m, n, i ,j;int temp;cin >> n >> m;temp = m;m = n;n = temp;int * map = new int[m * n];int * mark = new int[m * n];int * tmap = map;int * tmark = mark;int dif = 0;//输入for ( i = 0 ; i < m ; i++ )for (j = 0; j < n; j++)cin >> *(tmap + i * n + j);for (i = 0; i < m; i++)for (j = 0; j < n; j++){//横行if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0)if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)){dif = tmap - map;*(tmark + dif) = 0;*(tmark + dif + 1) = 0;*(tmark + dif + 2) = 0;}//竖列if (tmap + 2 * n - map < m * n || tmap + n - map < m * n)if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) {dif = tmap - map;*(tmark + dif) = 0;*(tmark + dif + n) = 0;*(tmark + dif + 2 * n) = 0;}tmap = map + (j+1) + i * n;}//输出cout << endl;tmap = map;for (i = 0; i < m; i++)for (j = 0; j < n; j++)if (* (tmark + i * n + j) == 0)*(tmap + i * n + j) = 0;for (i = 0; i < m; i++){for (j = 0; j < n; j++)cout<< *(tmap + i * n + j)<<" ";cout << endl;}system("pause");return 0;}1.5【结果和截图】1.6【心得体会】通过这次试验,我对c语言编译器和对棋盘类游戏中的棋子行列删除有了更加深刻的认识和了解。

2数字统计2.1【问题描述】某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。

已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

2.2【基本要求】现给你n个自然数,统计这些自然数中每个不相同数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

输入数据有n+1行。

第1行是整数n(1≤n≤200000),表示自然数的个数;第2~n+1行每行一个自然数。

输出有m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。

每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

2.3【测试数据】为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。

由于数据量可能很大,要注意程序的运行效率。

2.4【实现提示】定义顺序表,元素类型为:Element,顺序表类型为:SeqList,用顺序表的数组data记录自然数和该数出现的次数。

定义如下:typedef struct data{long int number;long int count;} Element;typedef struct list{Element data[10000]; /*存储自然数和该数出现的次数*/int length; /*存储不同自然数的个数,即顺序表的长度*/} SeqList;对输入的每一个数据,在顺序表中查找,若存在,则该数出现次数增1,否则将该数插入顺序表中,出现次数为1,插入后使顺序表中的数据按自然数有序。

2.5【功能实现】#include<stdio.h>void main(){typedef struct data{long int number;long int count;} Element;typedef struct list{Element data[10000]; /*存储自然数和该数出现的次数*/int length; /*存储不同自然数的个数,即顺序表的长度*/} SeqList;SeqList a;Element data1[10000],data2;int n=0,s=1,i,j;/*n代表输入数的个数,s等同于a.length,代表不同数的个数*/ for(i=0;i<10000;i++){data1[i].count=0;}printf("请输入要输入数的个数\n");scanf("%d",&n); /*输入要输入数的个数*/for(i=0;i<n;i++){scanf("%d",&a.data[i].number); /*输入n个数*/}data1[0].number=a.data[0].number;data1[0].count++;for(i=1;i<n;i++){for(j=0;j<s;j++)if(a.data[i].number==data1[j].number){data1[j].count++;break;}if(j==s){data1[s].number=a.data[i].number;data1[s].count++;s++;}}for(i=1;i<s;i++)for(j=0;j<s-i;j++)if(data1[j].number>data1[j+1].number){data2=data1[j];data1[j]=data1[j+1];data1[j+1]=data2;}printf("结果如下\n");for(i=0;i<s;i++){printf("%d,%d\n",data1[i].number,data1[i].count);}}2.6【结果和截图】2.7【心得体会】通过本次实验,我对c语言编译器和n个数的排序和统计有了更加深刻的认识和了解。

3.画图3.1【问题描述】用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。

例如,下图是用 ASCII 字符画出来的 CSPRO 字样。

..____.____..____..____...___.../.___/.___||.._.\|.._.\./._.\.|.|...\___.\|.|_).|.|_).|.|.|.||.|___.___).|..__/|.._.<|.|_|.|.\____|____/|_|...|_|.\_\\___/.3.2【基本要求】实现一个用 ASCII 字符来画图的程序,支持以下两种操作:画线:给出两个端点的坐标,画一条连接这两个端点的线段。

简便起见题目保证要画的每条线段都是水平或者竖直的。

水平线段用字符 - 来画,竖直线段用字符 | 来画。

如果一条水平线段和一条竖直线段在某个位置相交,则相交位置用字符 + 代替。

填充:给出填充的起始位置坐标和需要填充的字符,从起始位置开始,用该字符填充相邻位置,直到遇到画布边缘或已经画好的线段。

注意这里的相邻位置只需要考虑上下左右 4 个方向,如下图所示,字符 @ 只和 4 个字符 * 相邻。

.*.*@*.*.输入数据格式如下:第1行有三个整数m, n和q。

m和n分别表示画布的宽度和高度,以字符为单位。

q表示画图操作的个数。

(2 ≤ m, n ≤ 100,0 ≤ q ≤ 100)第2行至第q + 1行,每行是以下两种形式之一:0 x1 y1 x2 y2:表示画线段的操作,(x1, y1)和(x2, y2)分别是线段的两端,满足要么 x1= x2且 y1≠y2,要么 y1=y2 且 x1≠x2。

(0≤x1 ,x2<m,0≤y1 ,y2<n)。

1 x y c:表示填充操作,(x, y)是起始位置,保证不会落在任何已有的线段上;c 为填充字符,是大小写字母。

(0≤x<m,0≤y<n)。

画布的左下角是坐标为 (0, 0) 的位置,向右为x坐标增大的方向,向上为y坐标增大的方向。

这q个操作按照数据给出的顺序依次执行。

相关文档
最新文档