首页 > 代码库 > 第十一次实验总结+作业

第十一次实验总结+作业

知识点:
  指针与数组
    一维数组与元素地址的表示:int a[3]={1,2,3};  数组地址:a
  用指针变量引用数组元素
    定义指针变量:int  *p,a[3]={1,2,3};
                                   p=a;
    引用数组元素:
            下标法  地址法  指针法
    第N个元素    a[k]   *(a+k)   *(p+k)
    第N个元素的地址 &a[k]    a+k      p+k
  PS:用指针变量访问素组元素要注意下表是否越界。
  
  冒泡法:将数字从大到小排序或者从小到大排序的一种方法。相邻的两个数两两互换,从第一个数开始,如果是按照要求的顺序排列,就不用交换。n个数就要n-1个数开始。

在数组中查找指定数

#include<Stdio.h>
int main()
{
    int n,list[10],num,x,i,item;
    int search(int list[],int n,int x);
    printf("Input n:");
    scanf("%d",&n);
    printf("Input list[%d]:",n);
    for(i=0;i<n;i++)
        scanf("%d",&list[i]);
    printf("search:");
    scanf("%d",&x);
    num=search(list,n,x);
    if(num!=-1)
        printf("%d",num);
    else if(num==-1)
        printf("Not find!");
    return 0;
}
int search(int list[],int n,int x)
{
    int i,num;    
    for(i=0;i<n;i++){
        if(x==list[i])
            return i;        
    }         
    if(x!=list[i]) return -1;
}

冒泡法

#include<Stdio.h>
int main()
{
    int i,n,a[10];
    void sort(int a[],int n);
    printf("Input n(n<10):");
    scanf("%d",&n);
    printf("Input a[%d]:",n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    sort(a,n);
    for(i=0;i<n;i++)
        printf("%3d",a[i]);
    return 0;
}
void sort(int a[],int n)
{
    int i,j,t;
    for(i=1;i<n;i++)
        for(j=0;j<n-1;j++)
            if(a[j]>a[i]){
                t=a[j];
                a[j]=a[i];
                a[i]=t;
            }            
}

 

第十一次实验总结+作业