实验报告一(指针)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告一(指针)
指针实验一
指向变量得指针变量编程一.实验目得与要求 1、理解指针得概念。
2、掌握指针变量得定义与使用。
3、掌握指针变量作为函数参数得使用方法。
二二. 实验题目1、用指针变量编程,求数组中得最大元素与最小元素. #include "stdio、h”#define N 10 void
main() {
;)n tni,2tp* tni,1tp* tni,][rra tni(nimxamdiovﻩint array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
;b&=2p ;a&=1pﻩ
;)N,2p,1p,yarra(nimxamﻩ printf("max=%d,min=%d\n",a,b); }
void maxmin(int arr[],int *pt1,int *pt2,int n)
{
int i; *
;]0[rra=2tp*=1tpﻩ for(i=1;i { ;]i[rra=1tp* )1tp*>]i[rra(fiﻩ if(arr[i]〈*pt2) *pt2=arr[i]; }ﻩ}实验二 字符指针编程一一. 实验目得与要求 1、理解字符指针得概念。2、掌握字符指针得定义与使用。 二二. 实验题目2、用字符指针编程求出字符串中指定字符得个数。 例如:假设字符串为:“abcdaghckpamn”,指定字符为…a‟,则结果为 3. 要求:从 main 函数输入字符串与指定字符,输出结果。 #include { ;0 = emit tniﻩ while(*str) )hc == ++rts*(fiﻩ ﻩ time ++ ; return time;} int main() { ; ]NELXAM[rts rahcﻩchar ch; ; )"n\:gnirts a tupni esaelP"(ftnirpﻩ scanf (”%s”,str) ; getchar() ; //get enter printf("Input the a letter to count:") ; scanf("%c", &ch) ; ; ))hc ,rts(retteLtnuoC ,"n\d%"(ftnirpﻩ} 实验三 指向一维数组得指针变量编程一.实验目得与要求1、理解指针与数组之间得关系。 2、掌握用指针变量引用数组元素得方法。 3、掌握用指向一维数组得指针变量编程。 二二. 实验题目 3、已知一个整型数组,编程将其数组元素得值改为当前元素与相邻得下一个元素得乘积,数组得最后一个元素改为它与第 0 个元素得乘积,要求用指针变量实现。 例如:已知a[5]={1, 2, 3, 4, 5}; 计算后 a[5]={2, 6, 12, 20, 10}。 #define N 5 #include”stdio、h” void f(int *p,int n) { int i; )++i;n〈i;0=i(rofﻩ *(p+i)=(*(p+i))*(*(p+(i+1)%n)); } int ma in() { ;i,]N[a tniﻩ)++i;N〈i;0=i( rofﻩ ;)]i[a&,”d%"(fnacsﻩ ;)N,a(fﻩ for (int j=0;j ;)]j[a," d%"(ftnirpﻩﻩ;1 nruterﻩ} 实验四 指向二维数组得指针变量编程一一. 实验目得与要求 1、理解二维数组得地址表示方法。 2、掌握用指针变量表示二维数组得元素与元素得地址。 3、掌握用指向二维数组得指针变量得使用。 二。实验题目 4、用一个二维数组 score[4][3]来存放 4 个学生 3 门课得成绩,编程实现: (1) 输入学生成绩; (2) 求出每个学生得平均分,将其保存在数组 a[4]中; (3) 求出每门课程得平均成绩,将其保存在数组 b[3]中; (4)输出数组 a、b 中成绩。 要求:用指向二维数组元素得指针变量实现。 #include "stdio、h" void inputScore(float (*p)[3])//输入学生成绩{ int i,j; ;)"n\生学名4共,绩成程课门 3 生学个每,绩成生学入输请"(f tnirpﻩ for (i = 0;i<4; i++) { printf(”请输入学生%d 得3门课得成绩\n”,i+1); )++j;3<j;0 = j(rofﻩﻩ ﻩ scanf(”%f”,p[i]+j); } } voidavstu(float *psco,float *pa)//求每个学生得平均成绩{ ;j,i tniﻩ;eva taolfﻩ for (i=0; i〈4;i++) { ﻩ ave=0; for(j= 0;j〈3; j++) { ave+=(*(psco+3*i+j));//累计每门课得成绩(* ﻩ;3/eva=)i+apﻩ } }ﻩ} voidavsco(float(*psco)[3],float *pb)//求每门课得平均成绩 { ;j,i tniﻩ ;eva taolfﻩ for (j= 0; j<3;j++) // j 表示列 { ave=0;