收藏 分销(赏)

程序设计实践试验参考指导书实验指针进阶.doc

上传人:天**** 文档编号:2828543 上传时间:2024-06-06 格式:DOC 页数:11 大小:32.54KB 下载积分:8 金币
下载 相关 举报
程序设计实践试验参考指导书实验指针进阶.doc_第1页
第1页 / 共11页
程序设计实践试验参考指导书实验指针进阶.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
河南工业大学实验报告 课程名称:程序设计实践 开课实验室: 专业班级 计科1506 学号 姓名 王智宇 实验项目名称 实验3:指针进阶 实验日期 -3-30 成绩评估 教师签名: 日 期: 一、实验目: 1. 理解指针数组概念,掌握指针数组基本应用和编程办法。 2. 掌握单向链表概念和建立办法。 3. 掌握单向链表基本操作。 二、实验环境: 1. 运营Window XP/Windows 7/Windows 8等操作系统PC机; 2. VC++6.0,CodeBlocks,或Dev C++等编译环境。 三、实验内容: 1.编写程序,输入一种月份,输出相应英文名称,规定用指针数组表达12个月英文名称。 输入输出示例: 5 May 【源程序】 #include<stdio.h> #include <stdlib.h> int main() { int num; scanf("%d",&num); getchar(); char *month[12]={"January","February","March","April","May","June","July","August","September","October","Novermber","December"}; printf("%s\n",month[num-1]); return 0; } 【运营成果】 8 August Process returned 0 (0x0) execution time :2.466 s Press any key to continue. 2. 定义一种指针数组将下表星期信息组织起来,输入一种字符串,在表中查找,若存在,输出该字符串在表中序号,否则输入-1。 Sunday Monday Tuesday Wednesday Thursday Friday Saturday 输入输出示例: Tuesday 3 【源程序】 #include<stdio.h> #include <stdlib.h> #include <string.h> int main() { char *month[12]={"January","February","March","April","May","June","July","August","September","October","Novermber","December"}; char mnum[10]; scanf("%s",&mnum); getchar(); int i=0; for(i=0;i<12;i++) { if(strcmp(mnum,month[i])) printf("%d\n",i+1); return 0; } return 0; } 【运营成果】 Junuary 1 Process returned 0 (0x0) execution time :5.130 s Press any key to continue. 3. 编写程序,输入n(n<10)个字符,输出其中最长字符串有效长度。规定自定义函数int max_len(char *s[] ,int n),用于计算有n个元素指针数组n中最长字符串长度。 输入输出示例: n=4 blue yellow red green 6 【源程序】 #include <stdio.h> #include <stdlib.h> #include <string.h> int max_len(char *s[] ,int n); int main() { int i,n,t; printf("n="); scanf("%d",&n); getchar(); char *num[n],str[80]; for(i=0;i<n;i++) { gets(str); num[i]=(char*)malloc(sizeof(char)*(strlen(str)+1)); strcpy(num[i],str); } t=max_len(num,n); printf("%d",t); return 0; } int max_len(char *s[],int n) { int i,t,max=0; for(i=0;i<n;i++) { t=strlen(s[i]); if(max<t) max=t; } return max; } 【运营成果】 n=5 sdsdsdsd sdd dddd dddddd dd 8 Process returned 0 (0x0) execution time :8.274 s Press any key to continue.g 4. 输入若干个学生信息(涉及学号、姓名和成绩),输入学号为0时输入结束,建立一种单向链表,再输入一种成绩值,将成绩不不大于等于该值学生信息输出。 输入输出示例: 1 Zhang 78 2 Wang 80 3 Li 75 4 Zhao 85 0 0 0 80 2 Wang 80 4 Zhao 85 【源程序】 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct node { int num; char name[20]; int score; struct node *next; }LNode,*LinkList; void CreateList(LinkList head) { LinkList p,rear=head; int num; char temp[20]; int tmp; while(scanf("%d %s %d",&num ,&temp,&tmp),num!=0) { p=(LinkList)malloc(sizeof(LNode)); p->num=num; strcpy(p->name,temp); p->score=tmp; rear->next=p; rear=p; } rear->next=NULL; } void printList(LinkList head,int n) { LinkList p=head->next; while(p) { if(p->score>=n) {printf("%d %s %d\n",p->num,p->name,p->score);} p=p->next; } } int main() { int n; LNode mark; LinkList head; head=(LinkList)malloc(sizeof(LNode)); head->next=NULL; CreateList(head); scanf("%d",&n); printList(head,n); return 0; } 【运营成果】 1 zhang 78 2 wang 98 3 ji 87 4 killer 78 5 kim 83 0 0 0 80 2 wang 98 3 ji 87 5 kim 83 Process returned 0 (0x0) execution time :71.387 s Press any key to continue. 5. 输入若干个正整数(输入-1为结束标志),规定按输入数据逆序建立一种链表,并输出。 输入输出示例: 1 2 3 4 5 6 7 -1 7 6 5 4 3 2 1 【源程序】 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct node { int num; struct node *next; }LNode,*LinkList; void CreateList(LinkList head) { LinkList p,rear=head; int num; while(scanf("%d",&num),num!=-1) { p=(LinkList)malloc(sizeof(LNode)); p->num=num; rear->next=p; rear=p; } rear->next=NULL; } void printList(LinkList head) { int temp; LinkList p=head->next,j; while(p) { j=p->next; while(j) { if(p->num<j->num) { temp=p->num; p->num=j->num; j->num=temp; } j=j->next; } p=p->next; } p=head->next; while(p) { printf("%d ",p->num); p=p->next; } } int main() { int n; LNode mark; LinkList head; head=(LinkList)malloc(sizeof(LNode)); head->next=NULL; CreateList(head); printList(head); free(head); return 0; } 【运营成果】 1 2 3 4 44 55 33 23 42 45 -1 55 45 44 42 33 23 4 3 2 1 Process returned 0 (0x0) execution time :14.031 s Press any key to continue. *6、在第4题基本上,再添加两个函数模块,一种实现将链表中数据存储到磁盘文献“student.dat”中。另一种实现将磁盘文献“student.dat”中数据按照学号逆序建立新链表。 【源程序】 【运营成果】 四、实验成果&总结: (列出实验过程中收获和遇到困难)
展开阅读全文

开通  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 

客服