1实现复制
#include <stdio.h>
void zzcmp(char *a,char *b);
int main(int argc, const char *argv[])
{
char a[32];
char b[32];
gets(a);
gets(b);
zzcmp(a,b);
return 0;
}
void zzcmp(char *a,char *b)
{
int i=0;
while(*(b+i)!='\0')
{
*(a+i)=*(b+i);
i++;
}
*(a+i)='\0';
printf("%s\n",a);
}
2选择排序
#include <stdio.h>
void xuanze(int *p,int n);
int main(int argc, const char *argv[])
{
int n=0;
printf("输入n\n");
scanf("%d",&n);
printf("输入元素\n");
int i=0;
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
xuanze(a,n);
return 0;
}
void xuanze(int *p,int n)
{
int i=0,j=0;
int t=0;
for(i=0;i<n-1;i++)
{
int min=i;
for(j=i+1;j<n;j++)
{
if(*(p+min)>*(p+j))
{
t=*(p+min);
*(p+min)=*(p+j);
*(p+j)=t;
}
}
}
for(i=0;i<n;i++)
printf("%d ",*(p+i));
printf("\n");
}
3交换最大最小值
#include <stdio.h>
void jiaohuan(int *p,int n);
int main(int argc, const char *argv[])
{
int n=0;
printf("输入n\n");
scanf("%d",&n);
int a[n];
int i=0;
printf("输入元素\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
jiaohuan(a,n);
return 0;
}
void jiaohuan(int *p,int n)
{
int i=0,j=0,t=0;
int min=0;
int max=0;
for(i=1;i<n;i++)
{
if(*(p+min)>*(p+i))
min=i;
}
for(j=1;j<n;j++)
{
if(*(p+max)<*(p+j))
max=j;
}
t=*(p+max);
*(p+max)=*(p+min);
*(p+min)=t;
for(i=0;i<n;i++)
printf("%d ",*(p+i));
printf("\n");
}
4实现字符串翻转
#include <stdio.h>
#include"string.h"
int main(int argc, const char *argv[])
{
char s[32]="this is book";
char *p=s;
int t=0;
char *q=&s[strlen(s)-1];
while(p<q)
{
t=*p;
*p=*q;
*q=t;
p++;
q--;
}
printf("%s\n",s);
char *tp=s;
while(*tp!=0)
{
p=tp;
while(*p==' ')
p++;
q=p;
while(*q!=' '&&*q!='\0')
q++;
tp=q;
q--;
while(p<q)
{
t=*p;
*p=*q;
*q=t;
p++;
q--;
}
}
printf("%s\n",s);
return 0;
}
5冒泡排序
#include <stdio.h>
void maopao(int *p,int len);
void output(int *p,int len);
int main(int argc, const char *argv[])
{
int a[5];int i=0;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
maopao(a,5);
output(a,5);
return 0;
}
void maopao(int *p,int len)
{
int i=0,j=0;
int t=0;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1;j++)
{
if(*(p+j)>*(p+j+1))
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
}
}
}
}
void output(int *p,int len)
{
int i=0;
for(i=0;i<len;i++)
printf("%d ",*(p+i));
printf("\n");
}