1.终端输入—维数组,实现冒泡排序(指针)
linux@linux:~/test/day7$ ./a.out
7 46 978 15 43 1
1 7 15 43 46 978
linux@linux:~/test/day7$ cat test9.c
#include <stdio.h>
int main(int argc, char * argv[])
{
int arr[6];
int *p = arr;
int i,j,a;
for (i=0;i<6;i++)
{
scanf("%d",p+i);
}
for (i=0;i<5;i++)
{
for (j=0;j<5-i;j++)
{
if(*(p+j)>*(p+j+1))
{
a = *(p+j);
*(p+j) = *(p+j+1);
*(p+j+1) = a;
}
}
}
for (i=0;i<6;i++)
{
printf("%d\t",*(p+i));
}
putchar(10);
return 0;
}
2.使用指针和—维数组实现斐波那契数列
linux@linux:~/test/day7$ ./a.out
1 1 2 3 5 8 13 21 34 55
linux@linux:~/test/day7$ cat test10.c
#include <stdio.h>
#define N 10
int main(int argc, char * argv[])
{
int arr[N] = {1,1};
int *p = arr;
int i;
for (i=2;i<N;i++)
{
*(p+i) = *(p+i-1) + *(p+i-2);
}
for (i=0;i<N;i++)
{
printf("%-3d",*(p++));
}
putchar(10);
return 0;
}