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;
}
心得:指针对于写程序的作用很大,用了指针十分的方便,但是指针不容易掌握,需要反复上机实验练习