冒泡排序的封装
#include <stdio.h>
#include <string.h>
void bubb(int *pa,int len);
int main(int argc, const char *argv[])
{
int arr[10]={0};
for(int k=0;k<10;k++)
{
scanf("%d",arr+k);
}
bubb(arr,9);
for(int i=0;i<10;i++)
{
printf("%d\t",*(arr+i));
}
return 0;
}
void bubb(int *pa,int len)
{
int *s=pa;
//len=0;
for(int i=0;len-i>0;i++)
{
for(int j=0;j<len-i;j++)
{
if (*(s+j)<*(s+1+j))
{
*(s+j)=*(s+j)^*(s+1+j);
*(s+1+j)=*(s+j)^*(s+1+j);
*(s+j)=*(s+j)^*(s+1+j);
// printf("%d ",*(s+i));
}
}
// printf("%d ",*(pa+i));
}
}
ubuntu@u
直角杨辉三角的封装
#include <stdio.h>
#include <string.h>
void fun(int (*p)[11],int h,int l);
int main(int argc, const char *argv[])
{
int arr[11][11]={0};
int (*p)[11]=arr;
fun(p,11,11);
return 0;
}
void fun(int (*p)[11],int h,int l)
{
int (*pa)[11]=p;
for(int i=0;i<h;i++)
{
**(pa+i)=1;
for(int j=0;j<i;j++)
{
if(j==0)
{
*(*(pa+i)+j)=1;
}
else
{
*(*(pa+i)+j)=*(*(pa+i-1)+(j-1))+*(*(pa+i-1)+j);
// printf("%d ",*(*(pa+i)+j));
}
// *(*(pa+i+1)+(j+1))=*(*(pa+i)+(j+1))+*(*(pa+i)+j);
}
// printf("\n");
}
for(int i=0;i<h;i++)
{
for(int j=0;j<i;j++)
{
printf("%d ",*(*(p+i)+j));
}
printf("\n");
}
}