1.终端输入一维数组,实现冒泡排序(指针)
#include <stdio.h>
int main(int argc, const char *argv[])
{
//终端输入一维数组,实现冒泡排序by指针
int s[6];
int i,j,temp;
int *p = s;
printf("请输入数组元素:");
for(i=0;i<6;i++)
{
scanf("%d",p + i); //终端输入
}
//冒泡排序
for(i=0;i<6-1;i++)
{
for(j=0;j<6-i-1;j++)
{
if(*(p+j) > *(p+j+1))
{
temp = *(p+j);
*(p+j) = *(p+j+1);
*(p+j+1) = temp;
}
}
}
//排序后打印输出
for(i=0;i<6;i++)
{
printf("%d\t",*(p+i));
}
printf("\n");
return 0;
}
2.使用指针和一维数组实现斐波那契数列
#include <stdio.h>
int main(int argc, const char *argv[])
{
//使用指针和一维数组,实现斐波那契数列(1 1 2 3 5 8 13 21 34 55...)
int s[10];
int *p = s;
int i;
for(i = 0;i < 10;i++)
{
if(i < 2)
{
*(p+i) = 1; //前两位直接赋值为1
}
else if(i>=2)
{
*(p+i) = *(p+i-1) + *(p+i-2); //前两位数之和
}
}
for(i = 0;i < 10;i++)
{
printf("%d\t",*(p+i)); //输出数列
}
printf("\n");
return 0;
}
3.整理思维导图