指针实验

 

 

1.实数拆分

#include<stdio.h>
void splitfloat (float x,int *intpart,float * fracpart);
int main(void)
{
float i;
int m;
float n;
printf("输入一个实数\n");
scanf("%f",&i);
splitfloat(i, &m, &n);

printf("%d",m);
printf("\n");
printf("%f",n);
return 0;
}

void splitfloat (float x,int *intpart,float * fracpart)
{
*intpart=(int)x;
* fracpart=x-*intpart;
}

 

 

2.循环后移

#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,m,i,j;
int*p;
printf("请输入数据的个数:n\n");
scanf("%d",&n);
printf("请输入移动位置数:m\n");
scanf("%d",&m);
p=(int*)calloc(n,sizeof(int));
for(i=0;i<n;i++)
scanf("%d",p+i);
for(i=0;i<n;i++){
j=(m/n+1)*n-m+i;
if(j>=n)
j-=n;
printf("%d\t",*(p+j));
}
printf("\n");
return 0;
}

 

3。删除字符

#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);
}

4.字符串排序

#include"stdio.h"
#include"string.h"
int main (void)
{
char str[5][10],t[10];
int i,j;
printf("请输入5个字符串\n");
for(i=0;i<5;i++)
scanf("%s",str[i]);
for(i=1;i<5;i++){
for(j=0;j<5-i;j++)
if(strcmp(str[j],str[j+1])>0){
strcpy(t,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],t);
}
}
printf("升序排序\n");
for(i=0;i<5;i++)
printf("%s\n",str[i]);

 

return 0;

}

心得:指针对于写程序的作用很大,用了指针十分的方便,但是指针不容易掌握,需要反复上机实验练习

转载于:https://www.cnblogs.com/menyuan/p/11055150.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值