




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南工业大学实验报告课程名称:程序设计实践 开课实验室:专业班级计科1506学号201516010605姓名王智宇实验项目名称实验3:指针进阶实验日期2016-3-30成绩评定教师签名:日 期:一、 实验目的:1. 理解指针数组的概念,掌握指针数组的基本应用和编程方法。2. 掌握单向链表的概念和建立方法。3. 掌握单向链表的基本操作。二、实验环境:1. 运行Window XP/Windows 7/Windows 8等的操作系统的PC机;2. VC+6.0,CodeBlocks,或Dev C+等编译环境。三、实验内容: 1.编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的
2、英文名称。输入输出示例:5May 【源程序】#include<stdio.h>#include <stdlib.h>int main() int num; scanf("%d",&num); getchar(); char *month12="January","February","March","April","May","June","July","August","S
3、eptember","October","Novermber","December"推荐精选 printf("%sn",monthnum-1); return 0;【运行结果】8AugustProcess returned 0 (0x0) execution time : 2.466 sPress any key to continue.2. 定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输入-1。SundayMondayTuesdayWedn
4、esdayThursdayFridaySaturday输入输出示例:Tuesday3【源程序】#include<stdio.h>#include <stdlib.h>#include <string.h>int main() char *month12="January","February","March","April","May","June","July","August","Sep
5、tember","October","Novermber","December" char mnum10; scanf("%s",&mnum); getchar();推荐精选 int i=0; for(i=0;i<12;i+) if(strcmp(mnum,monthi) printf("%dn",i+1); return 0; return 0;【运行结果】Junuary1Process returned 0 (0x0) execution time : 5.130 s
6、Press any key to continue.3. 编写程序,输入n(n<10)个字符,输出其中最长字符串的有效长度。要求自定义函数int max_len(char *s , int n),用于计算有n个元素的指针数组n中最长的字符串的长度。输入输出示例:n=4blueyellowredgreen6【源程序】#include <stdio.h>#include <stdlib.h>#include <string.h>int max_len(char *s ,int n);int main() int i,n,t; printf("n=
7、"); scanf("%d",&n); getchar(); char *numn,str80; for(i=0;i<n;i+) gets(str); numi=(char*)malloc(sizeof(char)*(strlen(str)+1); strcpy(numi,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(si); if
8、(max<t) max=t; return max;【运行结果】n=5sdsdsdsdsdddddddddddddd8Process returned 0 (0x0) execution time : 8.274 sPress any key to continue.g4. 输入若干个学生信息(包括学号、姓名和成绩),输入学号为0时输入结束,建立一个单向链表,再输入一个成绩值,将成绩大于等于该值的学生信息输出。输入输出示例:1Zhang782Wang803Li754Zhao85000802Wang804Zhao85【源程序】#include <stdio.h>#include
9、 <stdlib.h>#include <string.h>typedef struct node int num; char name20;推荐精选 int score; struct node *next;LNode, *LinkList;void CreateList(LinkList head) LinkList p,rear=head; int num; char temp20; int tmp; while(scanf("%d %s %d",&num ,&temp,&tmp),num!=0) p=(LinkList
10、)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 %dn",p->num,p->name,p->score); p=p->next; int m
11、ain() 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 983 ji 874 killer 785 kim 830 0 0802 wang 983 ji 875 kim 83Process returned 0 (0x0) execution time :
12、 71.387 sPress any key to continue.5. 输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立一个链表,并输出。输入输出示例:1234567-17654321【源程序】#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; in
13、t 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->n
14、um=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 -155 45 44 42 33 23 4 3 2 1Process returned 0 (0x0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论