C语言实验报告总结

2024-11-29 17:10:15
推荐回答(1个)
回答1:

你只需要按那个模版就行,那些内容就改成你的作业
班级: 学号: 姓名:
实验9 指针

一、实验目的

(1)掌握指针概念,并定义与使用它。

(2)使用数组的指针和指向数组的指针变量。

(3)使用字符串的指针和指向字符串的指针变量。

二、实验内容

1. 将一个3*3的矩阵转置,用函数实现。

2. 有n个人围成一圈,顺序排号。从第一个人开始报数(1~3),凡报到3的人退出,问第几号的人能留下。

三、实验环境

硬件:(1)学生用微机

(2)多媒体实验教室

软件:(1)Windows XP 中文操作系统

(2)VC++ 6.0

四、实验结果

程序1:

#include

void main()

{

void move(int *pointer);

int a[3][3],*p,i;

printf("input marix:\n");

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

scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);

p=&a[0][0];

move(p);

printf("matrix:\n");

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

printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);

}

void move(int *pointer)

{

int i,j,t;

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

for(j=i;j<3;j++)

{

t=*(pointer+3*i+j);

*(pointer+3*i+j)=*(pointer+3*j+i);

*(pointer+3*j+i)=t;

}

}

程序2:

#include

void main()

{

int i,k,m,n,num[50],*p;

printf("input num of person:");

scanf("%d",&n);

p=num;

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

i=0;

k=0;

m=0;

while(m
{

if(*(p+i)!=0)k++;

if(k==3)

{

*(p+i)=0;

k=0;

m++;

}

i++;

if(i==n)i=0;

}

while(*p==0)p++;

printf("the last num is %d\n",*p);

}

结果1:(就是程序运行之后出现的框,截图后粘贴这里)

结果2:

五、总结:

通过这个实验的学习, 基本掌握了指针的基本用法。