• 作业十一代码


    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;
                }            
    }

    测试截图:

    2.在数组中查找指定元素

    #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;
    }

    测试截图:

    3.报数游戏:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。输入整数n和m,并按退出顺序输出退出圈子的人的编号 。

    #include<stdio.h>
    int main(void)
    {
        int count,i,m,n,no;
        int num[50];
        int *p;
        printf("enter n,m:");
        scanf("%d%d",&n,&m);
        for(i=0;i<n;i++)
        num[i]=i+1;
        p=num;
        count=no=0;
        while(no<n-1)
        {
            if(*p!=0)count++;
            if(count==m)
            {
                no++;
                printf("退出的人%d:%d
    ",no,*p);
                *p=0;
                count=0;
            }
            p++;
            if(p==num+n)
            p=num;
        }
        p=num;
        while(*p==0)
        p++;
        printf("最后一个人:%d
    ",*p);
        
        
    }

    测试截图:

  • 相关阅读:
    meanshift聚类的实现
    birch聚类算法
    DBSCAN聚类算法的实现
    discrete adaboost的C++实现
    kd-tree的实现
    红黑树的实现——插入
    24位位图转8位灰度图
    将RGB数据写入BMP位图文件
    splay树的实现
    AVL树的实现
  • 原文地址:https://www.cnblogs.com/gdcs16-409/p/6140306.html
Copyright © 2020-2023  润新知