实验十:指针

一,实验目的

1. 掌握指针的概念,会定义和使用指针变量;

2. 能正确使用变量的指针和指向变量的指针变量;

3. 能正确使用数组的指针和指向数组的指针变量;

4. 能正确使用字符串的指针和指向字符串的指针变量;

二,实验内容

1.问题描述:(1)拆分实数的整数与小数部分:要求自定义一个函数void splitfloat (float x,int * intpart,float * fracpart),其中x是被拆分的实数,* intpart和* fracpart分别是将实数x拆分出来的整数部分与小数部分。编写主函数,并在其中调用函数splitloat()。试编写相应程序。

(3)循环后移:有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个数。试编写相应程序。

(6)删除字符:输入一个字符串,再输入一个字符ch,将字符串中所有的ch字符删除后输出该字符串。

(7)字符串顺序:输入5个字符串,按由小到大的顺序输出,试编写相应程序。

2.程序

(1)

#include<stdio.h>
void splidfloat(float x,int*intpart,float*fracpart);
int main()
{
float x,f=0;
int i=0;
float*pf=&f;
int*pi=&i;
printf("Enter x:");
scanf("%f",&x);
splidfloat(x,pi,pf);
printf("intpart=%d\nfracpart=%f\n",i,f);
return 0;
}
void splidfloat(float x,int*intpart,float*fracpart)
{
*intpart=(int)x;
*fracpart=x-*intpart;
}

(2)

#include<stdio.h>
int main()
{
int a[60] ;
int i,j,n,m,t;
printf("请分别输入数组长度(n)与移位位数(m):");
scanf("%d%d",&n,&m);
printf("请输入数组:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=n-1;i>m-1;i--)
{ t=a[n-1];
for(j=n-1;j>0;j--)
{ a[j]=a[j-1];
}
a[0]=t;
}
printf("移位m位后数组为:");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}

(6)

#include"stdio.h"
#include"string.h"
#define x 100
void delchar(char s[],char c);
int main()
{
char str[x],c;
printf("输入字符串:");
gets(str);
printf("输入删除字符:");
scanf("%c",&c);
delchar(str,c);
puts(str);
return 0;
}
void delchar(char*s,char c)
{
int a,i;
a=strlen(s);
for(i=a-1;i>=0;i--)
if(*(s+i)==c)
strcpy(s+i,s+i+1);
}

(7)

#include<stdio.h>
#include<string.h>
int main(void)
{
int i,j;
char a[5][20], t[20];
printf ("请输入5个字符串:\n");
for (i = 0; i < 5; i++)

scanf("%s",a[i]);
for (i = 1; i < 5; i++)
{for(j=0;j<5-i;j++)
if(strcmp(a[j],a[j+1])>0)
{strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}

}

printf("排序后:\n");
for (i = 0; i < 5; i++)
printf("%s\n",a[i]);
return 0;
}

3.实验过程图

(1)

(3)

(6)

(7)

三,实验心得

 通过这个实验,掌握了如何定义数组指针和指向数组的指针变量。通过这次实验与上次实验的对比还能过学到通过指针实现一个问题和不用指针相比在很多地方更具有优越性。在自己的错误中学会了如何在定义指针变量并将指针变量指向数据变量,另外还更加深刻的理解了指针存储的只是地址。

posted @ 2019-06-19 20:27  巢玉洁  阅读(349)  评论(0编辑  收藏  举报